जवाबों:
की लाइनों में कुछ
myString.split("\\s+");
यह सभी सफेद स्थानों को एक सीमांकक के रूप में समूहित करता है।
तो अगर मैं स्ट्रिंग है:
"Hello[space][tab]World"
यह तार उपज चाहिए "Hello"
और "World"
और के बीच खाली जगह को छोड़ देते हैं [space]
और [tab]
।
VonC के रूप में बताया, बैकस्लैश, भाग निकले जाना चाहिए, क्योंकि जावा पहले विशेष वर्ण स्ट्रिंग भागने की कोशिश करते हैं, और भेज कि पार्स किया जा सकता। आप जो चाहते हैं, वह शाब्दिक है "\s"
, जिसका अर्थ है, आपको पास होने की आवश्यकता है "\\s"
। यह थोड़ा भ्रमित कर सकता है।
के \\s
बराबर है [ \\t\\n\\x0B\\f\\r]
।
trim()
पहले की जरूरत है : trim().split("\\s++")
- अन्यथा, उदाहरण के लिए `abc` को विभाजित करना पहले दो खाली तारों का उत्सर्जन करेगा।
"\\\\s"
?
अधिकांश रीजेक्स बोलियों में सुविधाजनक चरित्र सारांश हैं जो आप इस तरह की चीज़ों के लिए उपयोग कर सकते हैं - ये याद रखने के लिए अच्छे हैं:
\w
- किसी भी शब्द चरित्र से मेल खाता है।
\W
- किसी भी नॉनवर्ड कैरेक्टर से मेल खाता है।
\s
- किसी भी सफेद-अंतरिक्ष चरित्र से मेल खाता है।
\S
- कुछ भी लेकिन सफेद-अंतरिक्ष वर्णों से मेल खाता है।
\d
- किसी भी अंक से मेल खाता है।
\D
- अंकों के अलावा कुछ भी मेल खाता है।
"रेगेक्स चेचेट" के लिए एक खोज आपको बहुत सारे उपयोगी सारांश के साथ पुरस्कृत करना चाहिए।
जावास्क्रिप्ट में यह काम पाने के लिए , मुझे निम्नलिखित कार्य करने थे:
myString.split(/\s+/g)
"\\ s +" को ट्रिक करना चाहिए
इसके अलावा आप एक UniCode गैर-ब्रेकिंग स्पेस xA0 हो सकता है ...
String[] elements = s.split("[\\s\\xA0]+"); //include uniCode non-breaking
अपाचे कॉमन्स लैंग में व्हिट्सस्पेस पात्रों के साथ एक स्ट्रिंग को विभाजित करने की एक विधि है:
StringUtils.split("abc def")
यह रेगेक्स पैटर्न की तुलना में उपयोग करना आसान हो सकता है।
आप निम्नलिखित विवरण का उपयोग करके एक स्ट्रिंग को लाइन ब्रेक द्वारा विभाजित कर सकते हैं:
String textStr[] = yourString.split("\\r?\\n");
आप निम्नलिखित कथन का उपयोग करके व्हाट्सएप द्वारा एक स्ट्रिंग को विभाजित कर सकते हैं:
String textStr[] = yourString.split("\\s+");
String str = "Hello World";
String res[] = str.split("\\s+");
इस कोड का अध्ययन करें .. सौभाग्य
import java.util.*;
class Demo{
public static void main(String args[]){
Scanner input = new Scanner(System.in);
System.out.print("Input String : ");
String s1 = input.nextLine();
String[] tokens = s1.split("[\\s\\xA0]+");
System.out.println(tokens.length);
for(String s : tokens){
System.out.println(s);
}
}
}