আমার স্ট্রিংকে ফাঁক দিয়ে বিভক্ত করতে হবে। এর জন্য আমি চেষ্টা করেছি:
str = "Hello I'm your String";
String[] splited = str.split(" ");
তবে কাজ হচ্ছে বলে মনে হচ্ছে না।
fork
উপরে বাম কোণার নিকটবর্তী লিঙ্কটি ক্লিক করুন ।
আমার স্ট্রিংকে ফাঁক দিয়ে বিভক্ত করতে হবে। এর জন্য আমি চেষ্টা করেছি:
str = "Hello I'm your String";
String[] splited = str.split(" ");
তবে কাজ হচ্ছে বলে মনে হচ্ছে না।
fork
উপরে বাম কোণার নিকটবর্তী লিঙ্কটি ক্লিক করুন ।
উত্তর:
আপনার যা আছে তা কাজ করা উচিত। তবে, প্রদত্ত স্পেসগুলি যদি ডিফল্ট হয় ... অন্য কিছু? আপনি হোয়াইটস্পেস রেজেক্স ব্যবহার করতে পারেন:
str = "Hello I'm your String";
String[] splited = str.split("\\s+");
এটি আপনার স্ট্রিংকে টোকনে বিভক্ত করার জন্য একটানা সংখ্যক টানা স্পেস তৈরি করবে।
পার্শ্ব নোট হিসাবে, আমি নিশ্চিত "বিভক্ত" একটি শব্দ নয় :) আমি বিশ্বাস করি যে বিভক্তির শিকার হওয়ার অবস্থাও "বিভাজন"। এটি ব্যাকরণের ব্যাকরণের একটি জিনিস :-) পিক হওয়ার চেষ্টা করছে না, কেবল টের পেয়েছি আমি এটিকে পাস দিয়েছি!
গৃহীত উত্তরটি ভাল হওয়ার সময়, সচেতন থাকুন যে যদি আপনার ইনপুট স্ট্রিংটি কোনও সাদা স্থান দিয়ে শুরু হয় তবে আপনি একটি শীর্ষস্থানীয় খালি স্ট্রিংয়ের সাথে শেষ করবেন। উদাহরণস্বরূপ, এর সাথে:
String str = " Hello I'm your String";
String[] splitStr = str.split("\\s+");
ফলাফলটি হবে:
splitStr[0] == "";
splitStr[1] == "Hello";
splitStr[2] == "I'm";
splitStr[3] == "Your";
splitStr[4] == "String";
সুতরাং আপনি আপনার স্ট্রিংটি বিভক্ত করার আগে ছাঁটাতে চান:
String str = " Hello I'm your String";
String[] splitStr = str.trim().split("\\s+");
Stringutils.split()
সাদা গতিতে স্ট্রিংকে বিভক্ত করতে ব্যবহার করুন । উদাহরণস্বরূপ StringUtils.split("Hello World")
"হ্যালো" এবং "ওয়ার্ল্ড" প্রদান;
উল্লিখিত কেসটি সমাধান করার জন্য আমরা এই জাতীয় বিভাজন পদ্ধতি ব্যবহার করি
String split[]= StringUtils.split("Hello I'm your String");
যখন আমরা বিভক্ত অ্যারে প্রিন্ট করব আউটপুটটি হবে:
হ্যালো
আমি
তোমার
দড়ি
চেষ্টা
String[] splited = str.split("\\s");
http://download.oracle.com/javase/tutorial/essential/regex/pre_char_classes.html
যদি কোনওভাবে আপনি স্ট্রিং বিভক্ত পদ্ধতিটি ব্যবহার করতে না চান তবে আপনি জাভাতে স্ট্রিংটোকেনাইজার শ্রেণিটি ব্যবহার করতে পারেন ..
StringTokenizer tokens = new StringTokenizer("Hello I'm your String", " ");
String[] splited = new String[tokens.countTokens()];
int index = 0;
while(tokens.hasMoreTokens()){
splited[index] = tokens.nextToken();
++index;
}
আর একবার চেষ্টা কর
String str = "This is String";
String[] splited = str.split("\\s+");
String split_one=splited[0];
String split_second=splited[1];
String split_three=splited[2];
Log.d("Splited String ", "Splited String" + split_one+split_second+split_three);
ঠিক আছে, সুতরাং আপনার ইতিমধ্যে উত্তরটি পেয়েছি কারণ আমি এটিকে সাধারণীকরণ করব we
আপনি যদি কোনও স্ট্রিং ফাঁক দিয়ে বিভক্ত করতে চান তবে ডিলিমিটার (বিশেষ অক্ষর)।
প্রথমে নেতৃস্থানীয় স্থানটি সরান কারণ তারা বেশিরভাগ সমস্যা তৈরি করে।
str1 = " Hello I'm your String ";
str2 = " Are you serious about this question_ boy, aren't you? ";
প্রথমে স্থান, ট্যাব ইত্যাদি হতে পারে এমন শীর্ষস্থানীয় স্থান সরিয়ে ফেলুন
String s = str1.replaceAll("^\\s+","");//starting with whitespace one or more
এখন আপনি যদি স্থান বা কোনও বিশেষ চরের দ্বারা বিভক্ত করতে চান।
String[] sa = s.split("[^\\w]+");//split by any non word char
তবে w যেমন [a-zA-Z_0-9] ধারণ করে, তাই আপনি যদি আন্ডারস্কোর দ্বারা বিভক্ত করতে চান (_) এছাড়াও ব্যবহার করুন
String[] sa = s.split("[!,? ._'@]+");//for str2 after removing leading space
replaceAll("^\\s+","")
আমার দিন বাঁচিয়েছে। এটা আমার মামলার পক্ষে কাজ করেছে। ধন্যবাদ
আপনি নীচের কোডটি ব্যবহার করে স্ট্রিংকে আলাদা করতে পারেন
String thisString="Hello world";
String[] parts = theString.split(" ");
String first = parts[0];//"hello"
String second = parts[1];//"World"
যেহেতু এই উত্তরগুলি পোস্ট হওয়ার পরে অনেক সময় হয়ে গেছে, তাই যা জিজ্ঞাসা করা হয়েছে তা করার জন্য এখানে আরও একটি আরও বর্তমান উপায়:
List<String> output = new ArrayList<>();
try (Scanner sc = new Scanner(inputString)) {
while (sc.hasNext()) output.add(sc.next());
}
এখন আপনার কাছে স্ট্রিংগুলির একটি তালিকা রয়েছে (যা তাত্ক্ষণিকভাবে অ্যারের চেয়ে ভাল); আপনার যদি অ্যারের দরকার হয় তবে আপনি এটি করতে পারেনoutput.toArray(new String[0]);
স্পেস বাই স্পাই স্ট্রিং স্পেস
String CurrentString = "First Second Last";
String[] separated = CurrentString.split(" ");
for (int i = 0; i < separated.length; i++) {
if (i == 0) {
Log.d("FName ** ", "" + separated[0].trim() + "\n ");
} else if (i == 1) {
Log.d("MName ** ", "" + separated[1].trim() + "\n ");
} else if (i == 2) {
Log.d("LName ** ", "" + separated[2].trim());
}
}