আমি string.startsWith()পদ্ধতিটি ব্যবহার করতে চাই তবে মামলাটি উপেক্ষা করছি।
মনে করুন আমার String"সেশন" আছে এবং আমি startsWith"এসইএসসি" ব্যবহার করি তবে এটি ফিরে আসবে true।
আমি কীভাবে এটি অর্জন করতে পারি?
আমি string.startsWith()পদ্ধতিটি ব্যবহার করতে চাই তবে মামলাটি উপেক্ষা করছি।
মনে করুন আমার String"সেশন" আছে এবং আমি startsWith"এসইএসসি" ব্যবহার করি তবে এটি ফিরে আসবে true।
আমি কীভাবে এটি অর্জন করতে পারি?
উত্তর:
আপনার স্ট্রিংটি পরীক্ষা করার আগে ব্যবহার করুন toUpperCase()বা toLowerCase()মানক করুন।
String.equalsIgnoreCase()আবিষ্কার করবেন যে আপনি সিদ্ধান্তে ফিরতে পারার আগে আপনার স্ট্রিংয়ের ছোট এবং বড় হাতের উভয় সংস্করণ তুলনা করতে হবে false। বিকল্প উত্তরের জন্য stackoverflow.com/a/38947571/14731 দেখুন ।
"İstanbul".toLowerCase().startsWith("istanbul".toLowerCase())(একটি লোকাল kish টার্কিশ পরিবেশে), এটি আমাকে মিথ্যা দেবে।
একটি বিকল্প হ'ল উভয়কেই ছোট হাতের বা বড় হাতের মধ্যে রূপান্তর করা:
"Session".toLowerCase().startsWith("sEsSi".toLowerCase());
এটা ভুল. দেখুন: https://stackoverflow.com/a/15518878/14731
অন্য বিকল্পটি হল String#regionMatches()পদ্ধতিটি ব্যবহার করা , যা কেস-সংবেদনশীল মিল করতে হবে কিনা তা উল্লেখ করে একটি বুলিয়ান যুক্তি গ্রহণ করে। আপনি এটি এর মতো ব্যবহার করতে পারেন:
String haystack = "Session";
String needle = "sEsSi";
System.out.println(haystack.regionMatches(true, 0, needle, 0, 5)); // true
সেটি পরীক্ষা করে এর অঞ্চল কিনা needleসূচি থেকে 0পর্যন্ত দৈর্ঘ্য 5উপস্থিত haystackসূচক থেকে শুরু 0দৈর্ঘ্য পর্যন্ত 5বা না। প্রথম যুক্তিটি হ'ল এর trueঅর্থ কেস-সংবেদনশীল মিল থাকবে।
এবং যদি আপনি কেবল রেজেক্সের খুব বড় অনুরাগী হন তবে আপনি এই জাতীয় কিছু করতে পারেন:
System.out.println(haystack.matches("(?i)" + Pattern.quote(needle) + ".*"));
(?i) এম্বেড করা পতাকা কেস মিলাকে উপেক্ষা করার জন্য।
System.out.println("Session".toLowerCase().startsWith("sEsSi".toLowerCase()));কোনও প্রপার সমাধান নয়। আপনি এটি চেষ্টা করে দেখতে পারেন: System.out.println("SessIon".toLowerCase().startsWith("sEsSi".toLowerCase()));ভিএম যুক্তি দিয়ে -Duser.country=TR -Duser.language=tr এই উদাহরণে Iবড় হাতের অক্ষর রয়েছেi
এটা চেষ্টা কর,
String session = "Session";
if(session.toLowerCase().startsWith("sEsSi".toLowerCase()))
আমি জানি যে আমি দেরি করে ফেলেছি, তবে অ্যাপাচি কমন্স ল্যাং 3 এর স্ট্রিংইটিলস.স্টার্টস উইথআইগনোর কেস () ব্যবহার সম্পর্কে কী?
উদাহরণ:
StringUtils.startsWithIgnoreCase(string, "start");
কেবলমাত্র আপনার pom.xML ফাইলটিতে নিম্নলিখিত নির্ভরতা যুক্ত করুন (আপনি মাভেন ব্যবহার করেন এমন অনুমানটি গ্রহণ করছেন):
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.11</version>
</dependency>
তুমি ব্যবহার করতে পার someString.toUpperCase().startsWith(someOtherString.toUpperCase())
string.regionMatches(true, 0, prefix, 0, prefix.length());যা উভয় স্ট্রিং "স্বাভাবিককরণ" ব্যয় করে না।