दिलचस्प पोस्ट
गतिविधि और सेवा के बीच संचार रेक डीबी: स्कीमा: लोड बनाम माइग्रेशन 'उपयोगकर्ता परिभाषित प्रकार निर्धारित नहीं' त्रुटि स्क्रिप्ट चलते समय मुख्य () फ़ंक्शन नहीं चलते एक सेट के सभी विभाजन कैसे खोजें JQuery एनामेट द्वारा शीर्ष ईवेंट पर स्क्रॉल करें बास सरणी में कोई मूल्य शामिल है या नहीं मैं आईडीएस स्थापित किए बिना एक बिल्ड सर्वर पर एमएसबिल्ड का वीएस2017 संस्करण कैसे स्थापित कर सकता हूं? मैं ज्येथोन में विभिन्न पायथन लाइब्रेरी कैसे स्थापित कर सकता हूं? ग्रिड में लेआउट में छवि थंबनेल जोड़ें? मैं <सूची में कैसे जोड़ सकता हूं <? संख्या> डेटा ढांचे का विस्तार? एंड्रॉइड में यूआरएल एन्कोडिंग पटरियों पर सीखना रूबी एमएस एक्सेस के लिए निशुल्क वैकल्पिक AppCompat v7 r21 values.xml में त्रुटि लौट रहा है?

जावा में उद्धरण के बीच डेटा कैसे प्राप्त करें?

मेरे पास टेक्स्ट की ये रेखाएं हैं, जैसे उद्धरणों की संख्या बदल सकती है:

Here just one "comillas" But I also could have more "mas" values in "comillas" and that "is" the "trick" I was thinking in a method that return "a" list of "words" that "are" between "comillas" 

मैं परिणाम उद्धरण के बीच डेटा कैसे प्राप्त करना चाहिए ?:

Comillas
मैस, कॉमिल्स, चाल
ए, शब्द, हैं, कॉमिला

वेब के समाधान से एकत्रित समाधान "जावा में उद्धरण के बीच डेटा कैसे प्राप्त करें?"

इस प्रकार की जानकारी को निकालने के लिए आप नियमित अभिव्यक्ति का उपयोग कर सकते हैं

 Pattern p = Pattern.compile("\"([^\"]*)\""); Matcher m = p.matcher(line); while (m.find()) { System.out.println(m.group(1)); } 

यह उदाहरण मानता है कि लाइन को पार्स किए जाने की भाषा स्ट्रिंग लीटरल्स के भीतर डबल-कोट्स के लिए एस्केप अनुक्रमों का समर्थन नहीं करती है, स्ट्रिंग्स जिसमें कई "लाइन" होते हैं, या स्ट्रिंग के लिए एक एकल कोट की तरह दूसरे सीमांकक का समर्थन करते हैं।

अपाचे कॉमन्स-लैंग पुस्तकालय में StringUtils देखें – इसकी एक substringsBetween विधि के बीच।

 String lineOfText = "if(getip(document.referrer)==\"www.eg.com\" || getip(document.referrer)==\"192.57.42.11\""; String[] valuesInQuotes = StringUtils.substringsBetween(lineOfText , "\"", "\""); assertThat(valuesInQuotes[0], is("www.eg.com")); assertThat(valuesInQuotes[1], is("192.57.42.11")); 
 String line = "if(getip(document.referrer)==\"www.eg.com\" || getip(document.referrer)==\"192.57.42.11\""; StringTokenizer stk = new StringTokenizer(line, "\""); stk.nextToken(); String egStr = stk.nextToken(); stk.nextToken(); String ipStr = stk.nextToken(); 

सबसे पहले, कृपया ध्यान दें कि उपयोगकर्ता == से अधिक के बराबर होना चाहिए। डिफ़ॉल्ट रूप से "==" पूछता है कि क्या वे मेमोरी में एक ही उदाहरण हैं, जो स्ट्रिंग्स में कभी-कभी मामला हो सकता है MyString.equals ("…") के साथ आप तारों के मूल्यों की तुलना कर रहे हैं।

के रूप में आप कोट्स के बीच के मूल्यों को कैसे प्राप्त करते हैं मुझे यकीन नहीं है कि आप क्या कहते हैं। "…" एक वास्तविक वस्तु है वैकल्पिक रूप से आप ऐसा कर सकते हैं:

स्ट्रिंग वेबयूआरएल = "www.eg.com";

यदि आप केवल एक पंक्ति के बजाय संपूर्ण स्रोत फ़ाइल पार्स कर रहे हैं, फ़ंक्शन के व्याकरण के आधार पर एक पार्सर स्ट्रिंग के आधार पर ऐसा करने का प्रयास करने से सुरक्षित विकल्प हो सकता है।

मुझे लग रहा है कि ये आपके व्याकरण में स्ट्रिंग लीटरल होंगे।

यदि आप फ़ाइल से सभी आक्षेपों को प्राप्त करना चाहते हैं:

 import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.regex.Matcher; import java.util.regex.Pattern; public class testReadQuotes { public static void main(String args[]) throws IOException{ Pattern patt = Pattern.compile("\"([^\"]*)\""); BufferedReader r = new BufferedReader(new FileReader("src\\files\\myFile.txt")); String line; while ((line = r.readLine()) != null) { Matcher m = patt.matcher(line); while (m.find()) { System.out.println(m.group(0)); } } } }