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

MySQL-এ REPLACE() এবং CAST() দিয়ে বড় স্ট্রিং থেকে সংখ্যা বের করা (পার্সিং)

বড় একটি স্ট্রিংয়ে নির্দিষ্ট প্যাটার্নের মধ্যের সংখ্যা বের করতে REPLACE() দিয়ে অবাঞ্ছিত অংশ মুছে CAST() দিয়ে সংখ্যায় রূপান্তর করা হয়।

টেবিল ও ডেটা তৈরি

mysql> CREATE TABLE DemoTable1961 (Title TEXT);

mysql> INSERT INTO DemoTable1961 VALUES 
    ('You_can_remove_the_string_part_only-10001-But_You_can_not_remove_the_numeric_parts');

ডেটা যাচাই

mysql> SELECT * FROM DemoTable1961;
+------------------------------------------------------------------------------------+
| Title                                                                              |
+------------------------------------------------------------------------------------+
| You_can_remove_the_string_part_only-10001-But_You_can_not_remove_the_numeric_parts |
+------------------------------------------------------------------------------------+

কোয়ারী: ১০০০১ বের করা

mysql> SELECT CAST(
    REPLACE(
        REPLACE(
            'You_can_remove_the_string_part_only-10001-But_You_can_not_remove_the_numeric_parts',
            'You_can_remove_the_string_part_only-', ''
        ),
        '-But_You_can_not_remove_the_numeric_parts', ''
    ) AS UNSIGNED) AS Output
    FROM DemoTable1961;

স্টেপ-বাই-স্টেপ:

  1. প্রথম REPLACE: প্রিফিক্স 'You_can_remove_the_string_part_only-' মুছে ফেলা → '10001-But_You_can_not_remove_the_numeric_parts'।
  2. দ্বিতীয় REPLACE: সাফিক্স '-But_You_can_not_remove_the_numeric_parts' মুছে ফেলা → '10001'।
  3. CAST(... AS UNSIGNED) — স্ট্রিংকে ইন্টিজারে রূপান্তর।

আউটপুট:

+--------+
| Output |
+--------+
|  10001 |
+--------+

সাধারণীকৃত প্যাটার্ন (যদি প্রিফিক্স/সাফিক্স জানা থাকে)

SELECT CAST(
    REPLACE(
        REPLACE(Title, 'known_prefix-', ''),
        '-known_suffix', ''
    ) AS UNSIGNED) AS ExtractedNumber
FROM DemoTable1961;

MySQL 8.0+ এ REGEXP_SUBSTR (অনেক সহজ)

SELECT CAST(REGEXP_SUBSTR(Title, '[0-9]+') AS UNSIGNED) AS Output
FROM DemoTable1961;

এটি স্ট্রিংয়ের প্রথম সংখ্যা সিকোয়েন্স বের করে। একাধিক সংখ্যা থাকলে সবচেয়ে বড় বা নির্দিষ্ট পজিশনের জন্য রেজেক্স সামঞ্জস্য করুন।

সতর্কতা

  • REPLACE পদ্ধতিতে প্রিফিক্স/সাফিক্স এক্স্যাক্টলি মিলতে হবে (কেস-সংবেদনশীল)।
  • স্ট্রিংএ একাধিকবার প্রিফিক্স থাকলে সব মুছে যাবে — সীমাবদ্ধতা।
  • পারফরম্যান্স: বড় টেক্সটে REPLACE নেস্ট করা স্লো। REGEXP_SUBSTR বা অ্যাপ্লিকেশন লেয়ারে পার্স করুন।
  1. জাভাস্ক্রিপ্টে স্ট্রিং থেকে সংখ্যা বের করার পদ্ধতি

  2. জাভাস্ক্রিপ্টে স্ট্রিংয়ে স্বরবর্ণের সংখ্যা কিভাবে বের করব?

  3. জাভাস্ক্রিপ্ট অ্যারে থেকে স্ট্রিং পার্স করা

  4. C#-তে স্ট্রিং লিস্ট থেকে কমা-সেপারেটেড স্ট্রিং কীভাবে তৈরি করবেন?