2011-06-05 15 views
14

में एकाधिक डिलीमीटर का उपयोग करना मैं इनपुट लेने के लिए स्कैनर का उपयोग कर रहा हूं और उम्मीद है कि इसे टुकड़ों में विभाजित करें। मैं इसे पूरे शब्द delimiters का उपयोग करके इसे विभाजित करना चाहता हूँ। तो अभी मेरे पास है:जावा - स्कैनर

Scanner scanner = new Scanner("1 imported bottle of perfume at 27.99"); 
    scanner.useDelimiter("\\sdelimitOne\\s"); 

तो इनपुट "शब्द शब्द delimitOne शब्द शब्द delimitTwo शब्द शब्द" के साथ मैं उत्पादन:

word word 
word word delimitTwo word word 

मुझे उम्मीद थी

scanner.useDelimiter("\\sdelimitOne\\s\\sdelimitTwo\\s"); 

काम हो सकता है, लेकिन हां नहीं।

word word 
word word 
word word 

:

कैसे मैं निम्नलिखित उत्पादन प्राप्त करने के बारे जाते हैं?

उत्तर

18
विकिपीडिया से

:

| : विकल्प (उर्फ विकल्प या सेट यूनियन) ऑपरेटर या तो ऑपरेटर के बाद या अभिव्यक्ति के बाद अभिव्यक्ति से मेल खाता है। उदाहरण के लिए, abc | def "abc" या "def" से मेल खाता है।

तो, scanner.useDelimiter("\\sdelimitOne\\s|\\sdelimitTwo\\s"); आपको जो चाहिए वह है।

+1

आह शानदार, मुझे उम्मीद थी कि यह कुछ मूर्खतापूर्ण चूक होगी। बहुत बहुत धन्यवाद। –

+1

मुझे '\\ s *' को '\\ s' के साथ बदलकर काम कर रहा है। –