উত্তর:
এর লাইনে কিছু
myString.split("\\s+");
এই সীমানা হিসাবে সমস্ত সাদা স্পেস ভাগ করে দেয়।
সুতরাং আমার যদি স্ট্রিং থাকে:
"Hello[space][tab]World"
এটি স্ট্রিং প্রদান করবে "Hello"
এবং "World"
এবং এর মধ্যে ফাঁকা স্থান বাদ [space]
দেবে [tab]
।
ভনসি যেভাবে উল্লেখ করেছে, ব্যাকস্ল্যাশটি এড়াতে হবে, কারণ জাভা প্রথমে একটি বিশেষ চরিত্রে স্ট্রিংটি থেকে পালানোর চেষ্টা করবে এবং এটি পার্স করার জন্য প্রেরণ করবে । আপনি যা চান, এটি আক্ষরিক "\s"
, যার অর্থ, আপনাকে পাস করা দরকার "\\s"
। এটি কিছুটা বিভ্রান্তি পেতে পারে।
\\s
সমতূল্য [ \\t\\n\\x0B\\f\\r]
।
trim()
প্রথমে প্রয়োজন : trim().split("\\s++")
- অন্যথায় উদাহরণস্বরূপ split abc` বিভক্তকরণ প্রথমে দুটি খালি স্ট্রিং নির্গত করবে।
"\\\\s"
?
বেশিরভাগ রেজেক্স উপভাষায় এই ধরণের জিনিসটির জন্য আপনি ব্যবহার করতে পারেন সুবিধাজনক চরিত্রের সংক্ষিপ্তসারগুলির একটি সেট রয়েছে - এগুলি মনে রাখা ভাল:
\w
- যে কোনও শব্দের চরিত্রের সাথে মেলে।
\W
- কোনও নন-ওয়ার্ডের চরিত্রের সাথে মেলে।
\s
- কোনও সাদা-স্থানের চরিত্রের সাথে মেলে।
\S
- সাদা-স্পেস অক্ষর ছাড়া কিছু মিলছে।
\d
- কোনও অঙ্কের সাথে মেলে।
\D
- অঙ্ক বাদে অন্য কিছু মেলে।
"রেজেক্স চিটশিটস" অনুসন্ধানের জন্য আপনাকে দরকারী প্রচুর সংক্ষিপ্তসার দিয়ে পুরস্কৃত করা উচিত।
জাভাস্ক্রিপ্টে এই কাজ পেতে , আমাকে নিম্নলিখিতগুলি করতে হয়েছিল:
myString.split(/\s+/g)
"\\ s +" এর কৌশলটি করা উচিত
এছাড়াও আপনার একটি ইউনিকোড নন-ব্রেকিং স্পেস 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);
}
}
}