জাভাতে একটি স্ট্রিং থেকে বিরাম চিহ্ন সরান

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

প্রায়শই, আপনি স্টপওয়ার্ড, বিরাম চিহ্ন, অঙ্ক বা অন্যথায় সরাতে চাইবেন কিছু অক্ষরের বিভাগ, আপনার শেষ লক্ষ্য কি তার উপর নির্ভর করে।

এই সংক্ষিপ্ত টিউটোরিয়ালে, আমরা জাভাতে একটি স্ট্রিং থেকে বিরাম চিহ্ন কিভাবে অপসারণ করব তা দেখব।

RegEx (রেগুলার এক্সপ্রেশন) দিয়ে স্ট্রিং থেকে যতিচিহ্ন সরান

রেগুলার এক্সপ্রেশনগুলি এখানে খুব স্বাভাবিকভাবে উপযুক্ত, কারণ তারা সম্ভবত অন্যান্য প্রক্রিয়াকরণ অংশের অংশ হতে চলেছে এবং কারণ তারা দক্ষ প্যাটার্ন ম্যাচার! জাভাতে, বিরাম চিহ্নের মিলের জন্য নিয়মিত অভিব্যক্তি p{Punct} বা একটি শর্টহ্যান্ড p{P}.

আপনাকে একটি স্ট্রিংয়ে প্রথম ব্যাকস্ল্যাশ থেকে বাঁচতে হবে, তাই সমস্ত বিরাম চিহ্ন মুছে ফেলা তাদের সাথে মেলে এবং একটি খালি অক্ষর দিয়ে প্রতিস্থাপন করার সমতুল্য:

String.replaceAll("p{P}", "")

আসুন এটি একটি সাধারণ বাক্যে প্রয়োগ করি:

String text = "Hi! This is, in effect, a synthetic sentence. It's meant to have several punctuation characters!";
String clean = text.replaceAll("p{P}", "");
System.out.println(clean);

এর ফলে:

Hi This is in effect a synthetic sentence Its meant to have several punctuation characters

এখানে কোন অক্ষরগুলিকে বিরাম চিহ্ন হিসাবে গণ্য করা হয়েছে তা দেখে নেওয়া যাক:

String text = "!#$%&'()*+,-./:;[email protected][]^_`{|}~";
String clean = text.replaceAll("p{P}", "");
System.out.println(clean);

এই বিশেষ অক্ষরগুলির সাথে - যা বিরাম চিহ্ন মুছে ফেলার পরে অবশিষ্ট থাকে?

$+^`|~

RegEx ছাড়াই স্ট্রিং থেকে যতিচিহ্ন সরান

আপনি যদি রেগুলার এক্সপ্রেশন ব্যবহার করতে না চান, তাহলে স্ট্রিং এর প্রতিটি অক্ষরের মাধ্যমে পুনরাবৃত্তি করার সময় আপনি একটি ম্যানুয়াল চেক করতে পারেন। একটি ব্যবহার করতে মনে রাখবেন StringBuffer পরিবর্তে ক String এটি করার সময়, যেহেতু স্ট্রিংগুলি অপরিবর্তনীয় এবং প্রতিবার আপনি একটি অক্ষর যোগ করতে চাইলে কপিগুলি তৈরি করতে হবে - তাই আপনি তৈরি করবেন string.length মেমরিতে স্ট্রিংয়ের সংখ্যা।

StringBuffer পরিবর্তনযোগ্য, এবং প্রক্রিয়ার শেষে সহজেই একটি অপরিবর্তনীয় স্ট্রিং-এ রূপান্তরিত হতে পারে:

সেরা-অভ্যাস, শিল্প-স্বীকৃত মান এবং অন্তর্ভুক্ত চিট শীট সহ গিট শেখার জন্য আমাদের হ্যান্ডস-অন, ব্যবহারিক গাইড দেখুন। গুগলিং গিট কমান্ড এবং আসলে বন্ধ করুন শেখা এটা!

public static String removePunctuations(String s) {
    StringBuffer buffer = new StringBuffer();
    for (Character c : s.toCharArray()) {
        if(Character.isLetterOrDigit(c))
            buffer.append(c);
    }
    return buffer.toString();
}

আসুন একটি স্ট্রিং তৈরি করি এবং এটি পরিষ্কার করি:

String text = "Hello! nHere are some special characters: !#$%&'()*+,-./:;[email protected][]^_`{|}~ nWhere are they? :(n";
System.out.println(text);
String clean = removePunctuations(text);
System.out.println(clean);
Hello! 
Here are some special characters: !#$%&'()*+,-./:;[email protected][]^_`{|}~ 
Where are they? :(

HelloHerearesomespecialcharactersWherearethey

যদিও এই প্রক্রিয়াটি আরও কাস্টমাইজযোগ্য, এটি শুধুমাত্র অক্ষর এবং সংখ্যার জন্য পরীক্ষা করে। আপনি বিকল্পভাবে অক্ষর কোডগুলির জন্য ম্যানুয়ালি পরীক্ষা করতে পারেন, এবং পরিবর্তে শুধুমাত্র কিছু বিরাম চিহ্ন বাদ দিতে পারেন - এবং হোয়াইটস্পেস, লাইনব্রেক ইত্যাদিতে ছেড়ে দিন।

উপসংহার

এই সংক্ষিপ্ত টিউটোরিয়ালে, আমরা রেগুলার এক্সপ্রেশন ব্যবহার করে বা বর্ধিত একটি ম্যানুয়াল চেক ব্যবহার করে কীভাবে আপনি জাভাতে একটি স্ট্রিং থেকে বিরাম চিহ্ন বা নির্দিষ্ট বিশেষ অক্ষরগুলি সরাতে পারেন তা দেখেছি। for লুপ.

সময় স্ট্যাম্প:

থেকে আরো Stackabuse