दिलचस्प पोस्ट
विंडो फ़ॉर्म के साथ विंडो शीर्षकबार में कस्टम बटन कैसे खींचना है? क्या कोई सबवर्सन चेकआउट हुक या ऐसा कुछ है? UIWebView में उपयोगकर्ता एजेंट बदलें (iPhone SDK) नोटपैड ++ में फ़ॉर्मेटिंग कोड स्कीमा / डेटाबेस में MySQL के बीच अंतर जावा थोड़ा endian या बड़े endian में integers पढ़ा है? TreeView नियंत्रण में सभी नोड्स तक पहुंच अजगर ट्पल को स्ट्रिंग में कनवर्ट करते हैं क्या एंड्रॉइड लेआउट फ़ोल्डर में सबफ़ोल्डर होते हैं? इंटेल मेमोरी मॉडल क्या SFENCE और LFENCE बेमानी बना है? केवल वर्तमान में ट्रैक किए गए फ़ाइलों के प्रतिलिपि वाले इतिहास के साथ नया रेपो प्रारूप समयक्षेत्र 24 घंटे से अधिक है पीएचपी के साथ संख्या में संख्या परिवर्तित करें क्यों पो (n, 2) 24 को वापस करता है जब n = 5, मेरे कंपाइलर और ओएस के साथ? जावास्क्रिप्ट में स्क्रिप्ट को समाप्त कैसे करें

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

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

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
मैस, कॉमिल्स, चाल
ए, शब्द, हैं, कॉमिला

Solutions Collecting From Web of "जावा में उद्धरण के बीच डेटा कैसे प्राप्त करें?"

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

 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)); } } } }