জাভা স্ট্রিং থেকে স্ট্রিপ লিডিং এবং ট্রেলিং স্পেস


278

জাভা স্ট্রিং থেকে কোনও নেতৃস্থানীয় বা অনুসরণযোগ্য স্থানগুলি ছিনিয়ে নেওয়ার জন্য কি কোনও সুবিধা পদ্ধতি আছে?

কিছুটা এইরকম:

String myString = "  keep this  ";
String stripppedString = myString.strip();
System.out.println("no spaces:" + strippedString);

ফলাফল:

no spaces:keep this

myString.replace(" ","") রাখুন এবং এই মধ্যে স্থান প্রতিস্থাপন করবে।


7
এটি দুর্ভাগ্যজনক তবে এর অর্থ এই যে এখানে উত্তরগুলি মানুষের জন্য কার্যকর ছিল। আমি কেবল এই কারণে upvated।
অ্যালেক্স ডি

11
যদিও এটি একটি সদৃশ হতে পারে, এটি এখন পর্যন্ত আরও ভাল একটি উপস্থাপিত প্রশ্ন। যদি কিছু হয় তবে অন্যটির এটির সদৃশ হিসাবে নিকটবর্তী হওয়া উচিত।
thecoshman

1
আমি সদৃশগুলি স্যুইচ করেছি কারণ এই প্রশ্নোত্তর অনেক বেশি ভিউ এবং পছন্দসই রয়েছে এবং অন্যান্য প্রশ্নোত্তর আসলে একটি ডিবাগিং প্রশ্ন।
রেডিওডেফ

1
JDK / 11 এপিআই থেকে সমাধান দিয়ে একটি উত্তর তৈরি করুন - এটিরString.strip জন্য।
নমন

উত্তর:


601

আপনি ট্রিম () পদ্ধতি ব্যবহার করে দেখতে পারেন।

String newString = oldString.trim();

জাভাডোকগুলি একবার দেখুন


1
জাভা 11 এর স্ট্রিং.স্ট্রিপ () এর পশ্চাদপদ-সামঞ্জস্যপূর্ণ প্রতিস্থাপন হিসাবে কাজ করে। সূক্ষ্ম পার্থক্যগুলি অন্বেষণ করার মতো সময় আমার হাতে নেই।
জোশিয়ার যোদার

80

String#trim()পদ্ধতি ব্যবহার করুন বা String allRemoved = myString.replaceAll("^\\s+|\\s+$", "")উভয় প্রান্তটি ছাঁটাই করার জন্য।

বাম ট্রিমের জন্য:

String leftRemoved = myString.replaceAll("^\\s+", "");

ডান ট্রিম জন্য:

String rightRemoved = myString.replaceAll("\\s+$", "");

3
স্ট্রিংয়ের মধ্যে কতগুলি শীর্ষস্থানীয় / পিছনের স্থান রয়েছে তা বলতে সক্ষম হয়ে এটির অতিরিক্ত সুবিধা রয়েছে।
Bżażej Czapp


18

ট্রিম () আপনার পছন্দ, তবে আপনি যদি replaceপদ্ধতিটি ব্যবহার করতে চান - যা আরও নমনীয় হতে পারে, আপনি নিম্নলিখিতটি চেষ্টা করতে পারেন:

String stripppedString = myString.replaceAll("(^ )|( $)", "");

এটি সব কি প্রতিস্থাপন করে? স্পেস এবং নিউলাইনগুলি সম্ভবত?
কোথাও কোথাও

আমি কেবল অনুসরণের জায়গাগুলি সরানোর জন্য কোনও সন্ধান করতে চাইছি তবে নেতৃস্থানীয় স্থানগুলি নয়। আমি ব্যবহার করেছি: str.replaceAll ("* s * $", "") আপনাকে ধন্যবাদ!
লিসা পি।

4

জাভা -11 এবং তারপরে, আপনি String.stripসমস্ত স্ট্রিং এবং শীর্ষস্থানীয় সাদা স্থান সরিয়ে নিয়ে স্ট্রিংটি ফেরত দিতে API ব্যবহার করতে পারেন whose একই জন্য জাভাদোক পড়তে:

/**
 * Returns a string whose value is this string, with all leading
 * and trailing {@link Character#isWhitespace(int) white space}
 * removed.
 * <p>
 * If this {@code String} object represents an empty string,
 * or if all code points in this string are
 * {@link Character#isWhitespace(int) white space}, then an empty string
 * is returned.
 * <p>
 * Otherwise, returns a substring of this string beginning with the first
 * code point that is not a {@link Character#isWhitespace(int) white space}
 * up to and including the last code point that is not a
 * {@link Character#isWhitespace(int) white space}.
 * <p>
 * This method may be used to strip
 * {@link Character#isWhitespace(int) white space} from
 * the beginning and end of a string.
 *
 * @return  a string whose value is this string, with all leading
 *          and trailing white space removed
 *
 * @see Character#isWhitespace(int)
 *
 * @since 11
 */
public String strip()

এর জন্য নমুনা মামলাগুলি হতে পারে: -

System.out.println("  leading".strip()); // prints "leading"
System.out.println("trailing  ".strip()); // prints "trailing"
System.out.println("  keep this  ".strip()); // prints "keep this"

পিএস : উত্তরগুলি স্থানান্তরিত করা হয়েছে এখানে থেকে মন্তব্যগুলির উপর ভিত্তি করে - স্ট্যাকওভারফ্লো
নমন


0

নির্দিষ্ট চরটি ছাঁটাতে, আপনি ব্যবহার করতে পারেন:

String s = s.replaceAll("^(,|\\s)*|(,|\\s)*$", "")

এখানে অগ্রণী এবং পিছনে স্থান এবং কমা পিছনে যাবে ।

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