কম্পিউটার টিউটোরিয়াল

জাভা রেগুলার এক্সপ্রেশন: লাইন এন্ডিং দিয়ে স্ট্রিং স্প্লিট করা


লাইন এন্ডিং রেজেক্স

Windows-এ `\r\n` (CRLF), Unix/Linux/macOS-এ `\n` (LF) লাইন সেপারেটর। ক্রস-প্ল্যাটফর্ম রেজেক্স: `\\r?\\n` — ঐচ্ছিক `\r` তারপর `\n`।

String.split() ব্যবহার করে

split("\\r?\\n") দিয়ে স্ট্রিংকে লাইন-wise অ্যারেতে ভাগ করা যায়।

কোড উদাহরণ

import java.util.Scanner;

public class SplitByLineEndingExample {
    public static void main(String[] args) {
        System.out.println("আপনার ইনপুট স্ট্রিং লিখুন: ");
        Scanner sc = new Scanner(System.in);
        
        // টেস্ট ইনপুট (মাল্টি-লাইন স্ট্রিং লিটারেল)
        String input = "sample text \r\n line1 \r\n line2 \r\n line3 \r\n line4";
        
        // লাইন এন্ডিং দিয়ে স্প্লিট
        String[] strArray = input.split("\\r?\\n");
        
        for (int i = 0; i < strArray.length; i++) {
            System.out.println("লাইন " + (i+1) + ": " + strArray[i]);
        }
    }
}

আউটপুট উদাহরণ

আপনার ইনপুট স্ট্রিং লিখুন: sample text 
 line1 
 line2 
 line3 
 line4
লাইন 1: sample text 
লাইন 2:  line1 
লাইন 3:  line2 
লাইন 4:  line3 
লাইন 5:  line4

Pattern.split() ব্যবহার (পারফরম্যান্সের জন্য)

Pattern pattern = Pattern.compile("\\r?\\n");
String[] lines = pattern.split(input); // একই ফলাফল, প্যাটার্ন রিয়ুজ

Java 11+ : String.lines() (স্ট্রিম API)


// Java 11+ - সবচেয়ে সহজ এবং পঠনীয়
input.lines().forEach(line -> System.out.println(line));
// বা লিস্টে কালেক্ট
List<String> lines = input.lines().collect(Collectors.toList());

সামान्य লাইন সেপারেটর রেজেক্স

প্ল্যাটফর্মলাইন এন্ডিংরেজেক্স
WindowsCRLF`\r\n`
Unix/Linux/macOSLF`\n`
Classic Mac OSCR`\r`
ইউনিভার্সালসব`\r?\n` বা `\r\n?`

সারসংক্ষেপ

ক্রস-প্ল্যাটফর্ম লাইন স্প্লিটের জন্য `\\r?\\n` রেজেক্স ব্যবহার করুন। Java 11+ এ `String.lines()` স্ট্রিম API সবচেয়ে মডার্ন এবং পছন্দনীয় পদ্ধতি। লিগেসি কোডবেসে `split("\\r?\\n")` বা `Pattern.compile("\\r?\\n").split()` ব্যবহার করুন।

  1. জাভা রেগেক্স দিয়ে স্ট্রিং/লাইন এর শুরু ম্যাচ করা (^)

  2. জাভা রেগেক্স দিয়ে স্ট্রিং/লাইন এর শেষ ম্যাচ করা ($)

  3. জাভাতে যেকোনো হোয়াইটস্পেস ক্যারেক্টার দিয়ে স্ট্রিং স্প্লিট করা

  4. জাভা প্রোগ্রাম: স্ট্রিং-এ স্বরবর্ণ গণনা করা