বিস্ফোরণ এবং ইমপ্লোড (পিএইচপি) এর সমান জাভা [বন্ধ]


94

আমি জাভাতে নতুন, যদিও পিএইচপি-তে ভাল অভিজ্ঞতা ছিল এবং জাভাতে বিস্ফোরণ এবং ইমপ্লোড (পিএইচপি-তে উপলব্ধ) ফাংশনগুলির জন্য নিখুঁত প্রতিস্থাপনের সন্ধান করছি।

আমি এটির জন্য গুগল করেছি তবে ফলাফল নিয়ে সন্তুষ্ট নই। আমার সমস্যার সমাধানের জন্য যে কেউই প্রশংসা পাবেন।

উদাহরণ স্বরূপ:

String s = "x,y,z";
//Here I need a function to divide the string into an array based on a character.
array a = javaExplode(',', s);  //What is javaExplode?
System.out.println(Arrays.toString(a));

পছন্দসই আউটপুট:

[x, y, z]

4
ঠিক আছে, আপনি এখন পর্যন্ত কোন সমাধান খুঁজে পেয়েছেন?
কনস্ট্যান্টিন ইয়োভকভ

7
কেন এই প্রশ্নটি ভোট দেওয়া হচ্ছে? এবং অফ টপিক ?? পরবর্তী প্রশ্নের জন্য এড়াতে পরামর্শ করুন।
পঙ্কজ ওয়াঞ্জারি

19
আমি মনে করি ভিউ কাউন্টের ভিত্তিতে এই প্রশ্নটি মোটেই খারাপ নয়। আমি সম্মতি জানাই এটি একটি অদ্ভুত প্রশ্ন তবে আমাদের মধ্যে অনেক পিএইচপি প্রোগ্রামার জাভা বিস্ফোরণের জন্য গুগল করেন এবং তারপরে এটি একটি সঠিক উত্তর হিসাবে পান।
gorgi93

6
এখন নভেম্বর 2014, এবং আমি জাভা স্ট্রিং বিস্ফোরণ googled, এবং এই প্রশ্ন এখনও শীর্ষ ফলাফল হিসাবে প্রকাশিত। আমি মনে করি 'অফ টপিক হিসাবে বন্ধ' স্ট্যাটাসটি তুলে নেওয়া উচিত, কারণ এটি আমার পক্ষে মোটেও অফ অফ বিষয় নয়।
চেন লি ইওং

4
ফেব্রুয়ারী 2016, এই প্রশ্নটি "জাভা বিস্ফোরণ" এর মূল ফলাফল।
undefined

উত্তর:


140

স্ট্রিং জন্য Javadoc জানায় যে String.split()কি আপনাকে এ ব্যাপারে খুঁজছেন explode

জাভা "যোগ" সমতুল্যের একটি "ইমপ্লোড" অন্তর্ভুক্ত করে না। অন্যান্য উত্তরগুলির হিসাবে যেমন কোনও সাধারণ ক্রিয়াকলাপের জন্য একটি বিশাল বাহ্যিক নির্ভরতা অন্তর্ভুক্ত না করে আপনি কোডের কয়েকটি লাইন লিখতে চাইতে পারেন। এটি সম্পাদন করার বিভিন্ন উপায় রয়েছে; একটি ব্যবহার করে একটি StringBuilder:

String foo = "This,that,other";
String[] split = foo.split(",");
StringBuilder sb = new StringBuilder();
for (int i = 0; i < split.length; i++) {
    sb.append(split[i]);
    if (i != split.length - 1) {
        sb.append(" ");
    }
}
String joined = sb.toString();

আপনার সমস্ত উত্তরের জন্য আপনাকে ধন্যবাদ।
পঙ্কজ ওয়াঞ্জারি

4
স্প্লিট প্রকৃতপক্ষে একটি নিয়মিত প্রকাশ (পিএইচপি, পার্ল, জাভা ইত্যাদিতে) ব্যবহার করে। আপনি যদি অন্য কোনও চিহ্নে বিভক্ত করতে চান তবে এটিকে এড়াতে হবে: স্ট্রিং [] বিভক্ত = foo.split ("\\ ("));
হোল্ডঅফহঙ্গার

4
নোট করুন যে জাভা 8 এর পরে আমাদের কাছে আসলে String#join( ডকুমেন্টেশন ) রয়েছে। আপনার উদাহরণস্বরূপ: String joined = String.join(" ", split);। পদ্ধতিটি StringJoinerক্লাস ব্যবহার করে ।
জাবুজার্ড

24

String.split() এর প্রতিস্থাপন আপনাকে সরবরাহ করতে পারে explode()

implode()আমি আপনাকে পরামর্শ দেওয়ার পরিবর্তে কাস্টম ফাংশন লিখতে বা অ্যাপাচি কমন্স এর StringUtils.join()ফাংশন ব্যবহার করতে পরামর্শ দিই ।


16

ভাল বিকল্পগুলি হ'ল স্ট্রিং.স্প্লিট এবং স্ট্রিং ইউটিলস.জাইন পদ্ধতি।

বিস্ফোরণ:

String[] exploded="Hello World".split(" ");

ইমপ্লোড:

String imploded=StringUtils.join(new String[] {"Hello", "World"}, " ");

স্ট্রিংগটিলগুলি একটি বাহ্যিক লাইব্রেরিতে থাকলেও মনে রাখবেন।


4
আপনি স্ট্রিংগিলগুলি কোথায় পাবেন? আমি এই ক্লাসটি com.sun.in অন্তর্নিহিত এবং com.sun.deploy তে খুঁজে পেয়েছি তবে আমি মনে করি না যে com.sun এর অধীনে সরাসরি ক্লাস ব্যবহার করা ভাল ধারণাpackages such as sun., that are outside of the Java platform, can be different across OS platforms (Solaris, Windows, Linux, Macintosh, etc.) and can change at any time without notice with SDK versions
আর্নাড ডনোয়েলে

ঠিক আছে, আপনার সম্পাদনার পরে, আমি দেখতে পাচ্ছি যে এই শ্রেণিটি একটি বাহ্যিক লিব থেকে এসেছে
আর্নাড ডনোয়েলে



4

আমি পিএইচপি এর সাথে পরিচিত নই, তবে আমি মনে করি স্ট্রিং.স্প্লিট পিএইচপি-র সমান জাভা explode। হিসাবে হিসাবে implode, স্ট্যান্ডার্ড লাইব্রেরি যেমন কার্যকারিতা সরবরাহ করে না। আপনি কেবল আপনার অ্যারেতে পুনরাবৃত্তি করুন এবং স্ট্রিংবিল্ডার / স্ট্রিংবফার ব্যবহার করে স্ট্রিং তৈরি করুন । অথবা আপনি চমৎকার চেষ্টা করতে পারেন গুগল পেয়ারা যে ব্যক্তি বিচ্ছেদ ঘটায় এবং যোজক বা split/joinথেকে পদ্ধতি এ্যাপাচি কমন্স StringUtils


4
সমস্ত লিঙ্কগুলি পেয়ারা ব্যতীত বৈধ, 3 বছর কেটে গেছে এবং তারা গিটহাবে চলে গেছে ub আমি নতুন লিঙ্কের সাথে মন্তব্য আপডেট করেছি।
ইভান শরমেট

0

যদি আপনি স্ট্রিং ক্লাসের রেফারেন্সে কথা বলছেন। যাতে আপনি ব্যবহার করতে পারেন

সাবস্ট্রিং / স্প্লিট

বিস্ফোরণ এবং স্ট্রিং ব্যবহারের জন্য

সংক্ষিপ্ত

ইমপ্লোডের জন্য।


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