অ্যান্ড্রয়েড স্প্লিট স্ট্রিং


227

আমার কাছে একটি স্ট্রিং বলা আছে CurrentStringএবং এটি এরকম কিছু আকারে "Fruit: they taste good"
আমি ডিলিমিটার হিসাবে CurrentStringব্যবহার করে বিভক্ত করতে চাই :
সুতরাং এইভাবে শব্দটি "Fruit"তার নিজস্ব স্ট্রিংতে বিভক্ত "they taste good"হবে এবং এটি অন্য স্ট্রিং হবে।
এবং তারপরে আমি স্ট্রিংটি প্রদর্শন করতে SetText()2 টি পৃথক ব্যবহার করতে চাই TextViews

এটির কাছে যাওয়ার সর্বোত্তম উপায় কী হবে?


আপনি সম্ভবত নিয়মিত প্রকাশে পড়ার চেষ্টা করতে পারেন। তারা খুব ভাল কাজ।
শওভিক

10
@ ফালমারি - প্রোগ্রামিং সম্পর্কে যে কোনও অনন্য প্রশ্ন স্ট্যাক ওভারফ্লোতে স্বাগত।
টিম পোস্ট

উত্তর:


606
String currentString = "Fruit: they taste good";
String[] separated = currentString.split(":");
separated[0]; // this will contain "Fruit"
separated[1]; // this will contain " they taste good"

আপনি দ্বিতীয় স্ট্রিংয়ের স্থানটি সরাতে চাইতে পারেন:

separated[1] = separated[1].trim();

আপনি যদি ডট (।) এর মতো একটি বিশেষ চরিত্রের সাথে স্ট্রিংটি বিভক্ত করতে চান তবে আপনার বিন্দুর আগে পালানোর অক্ষরটি ব্যবহার করা উচিত

উদাহরণ:

String currentString = "Fruit: they taste good.very nice actually";
String[] separated = currentString.split("\\.");
separated[0]; // this will contain "Fruit: they taste good"
separated[1]; // this will contain "very nice actually"

এটি করার অন্যান্য উপায় আছে। উদাহরণস্বরূপ, আপনি StringTokenizerক্লাসটি ব্যবহার করতে পারেন (থেকে java.util):

StringTokenizer tokens = new StringTokenizer(currentString, ":");
String first = tokens.nextToken();// this will contain "Fruit"
String second = tokens.nextToken();// this will contain " they taste good"
// in the case above I assumed the string has always that syntax (foo: bar)
// but you may want to check if there are tokens or not using the hasMoreTokens method

এর জন্য ধন্যবাদ! নতুন টাইম অবজেক্ট তৈরি করার সময় ঘন্টা এবং মিনিট আলাদা করার জন্যও দরকারী।
কাজ করেছে

24
ধন্যবাদ! .split () পদ্ধতি অ্যান্ড্রয়েডে মোটেও কাজ করে না! স্ট্রিংটোকেনাইজার ভাল কাজ করছে।
আয়ুশ পেতেরিয়া

হ্যাঁ এটি ... আপনার কোন সমস্যা ছিল?
ক্রিশ্চিয়ান

অ্যান্ড্রয়েডে বিভক্ত একটি সাধারণ স্ট্রিং বিভাজকের পরিবর্তে একটি নিয়মিত প্রকাশ পায়।
htafoya

1
@ হার্দিকপর্মার etPhoneNo.getText().toString().replaceAll("\\D", "");তার বক্তব্যটি ব্যবহার করে বলেছেন যেগুলি ডিজিট নয় এমন সবগুলি প্রতিস্থাপন করুন
মিলাপট্যাঙ্ক

86

.স্প্লিট পদ্ধতিটি কাজ করবে তবে এটি নিয়মিত এক্সপ্রেশন ব্যবহার করে। এই উদাহরণে এটি হবে (ক্রিশ্চিয়ানের কাছ থেকে চুরি করা):

String[] separated = CurrentString.split("\\:");
separated[0]; // this will contain "Fruit"
separated[1]; // this will contain " they taste good"

এছাড়াও, এটি এলো: অ্যান্ড্রয়েড বিভাজন সঠিকভাবে কাজ করছে না


52

কমা দ্বারা অ্যান্ড্রয়েড বিভক্ত স্ট্রিং

String data = "1,Diego Maradona,Footballer,Argentina";
String[] items = data.split(",");
for (String item : items)
{
    System.out.println("item = " + item);
}

25
     String s = "having Community Portal|Help Desk|Local Embassy|Reference Desk|Site News";
     StringTokenizer st = new StringTokenizer(s, "|");
        String community = st.nextToken();
        String helpDesk = st.nextToken(); 
        String localEmbassy = st.nextToken();
        String referenceDesk = st.nextToken();
        String siteNews = st.nextToken();

22

আপনি অ্যান্ড্রয়েড নির্দিষ্ট TextUtils.split () পদ্ধতিটিও বিবেচনা করতে চাইতে পারেন ।

টেক্সটইটিলস.স্প্লিট () এবং স্ট্রিং.স্প্লিট () এর মধ্যে পার্থক্যটি TextUtils.split () দিয়ে নথিভুক্ত করা হয়েছে:

স্ট্রিং.স্প্লিট () ফেরত [''] দেয় যখন বিভক্ত হওয়ার স্ট্রিংটি খালি থাকে। এটি ফিরে আসে []। এটি ফলাফল থেকে কোনও খালি স্ট্রিং সরিয়ে দেয় না।

আমি এটি আরও প্রাকৃতিক আচরণ বলে মনে করি। মূলত টেক্সটইটিস.স্প্লিট () স্ট্রিং.স্প্লিট () এর জন্য কেবল একটি পাতলা মোড়ক, খালি স্ট্রিংয়ের ক্ষেত্রে বিশেষভাবে কাজ করে। পদ্ধতির কোডটি আসলে বেশ সহজ।


কেবল স্ট্রিংয়ে স্প্লিট () কে কল করার পরিবর্তে TextUtils.split () ব্যবহার করে কী লাভ?
নিবারিয়াস

টেক্সটইটিস.স্প্লিট () এবং স্ট্রিং.স্প্লিট () এর মধ্যে পার্থক্য স্পষ্ট করার জন্য সম্পাদিত উত্তর
gardarh

ধন্যবাদ, আমি আসলে টেক্সটইটিস.স্প্লিট () এর জন্য ডকুমেন্টেশন পড়েছি তবে কোনও কারণে আমি এই বিশদটি হাতছাড়া করেছি। আমি অনুমান করি যে এটি আসলে কী বলেছিল তা বুঝতে পেরে আমি ক্লান্ত হয়ে পড়েছিলাম।
নিবারিয়াস

0

স্ট্রিং s = "স্ট্রিং ="

স্ট্রিং [] টিআর = এস.স্প্লিট ("="); // এখন str [0] হ'ল "এবং" [1] হ'ল "শুভ সকাল, ২,১"

এই স্ট্রিং যোগ করুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.