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

পাইথনে স্ট্রিংর শুরু বা শেষে টেক্সট মিলান কীভাবে করবেন

সমস্যা

ধরুন আপনাকে একটি স্ট্রিংর শুরু বা শেষে নির্দিষ্ট টেক্সট প্যাটার্ন চেক করতে হবে। সাধারণ প্যাটার্ন হতে পারে ফাইল এক্সটেনশন, কিন্তু এটি যেকোনো কিছু হতে পারে। আমি এখানে কিছু মেথড দেখাব।

startswith() মেথড

স্ট্রিংর শুরু চেক করার সহজ উপায় হল startswith() মেথড ব্যবহার করা।

উদাহরণ

text = "Is USA colder than Australia?"
print(f"output \n {text.startswith('Is')}")

আউটপুট

True

উদাহরণ

filename = "Hello_world.txt"
print(f"output \n {filename.startswith('Hello')}")

আউটপুট

True

উদাহরণ

site_url = 'https://www.something.com'
print(f"output \n {site_url.startswith('http:')}")

আউটপুট

False

উদাহরণ

print(f"output \n {site_url.startswith('https:')}")

আউটপুট

True

endswith() মেথড

স্ট্রিংর শেষ চেক করার সহজ উপায় হল endswith() মেথড ব্যবহার করা।

উদাহরণ

text = "Is USA colder than Australia?"
print(f"output \n {text.endswith('?')}")

আউটপুট

True

উদাহরণ

filename = "Hello_world.txt"
print(f"output \n {filename.endswith('.txt')}")

আউটপুট

True

একাধিক চয়েস চেক করা

উপরোক্ত মেথডগুলোর সাথে একাধিক চয়েস চেক করতে হলে টাপল (tuple) প্রদান করতে হয়। সাধারণ ব্যবহার হল ফাইল এক্সটেনশন ভ্যালিডেশন, যেমন ".txt" এবং ".csv" ফাইল চেক করা।

import os
filenames = os.listdir('.')
# চেক করুন কোনো ফাইল আছে কিনা
print(f"output \n {any(name.endswith(('.csv','.txt')) for name in filenames)}")

আউটপুট

True

ফাইল নামগুলো পান

[name for name in filenames if name.endswith(('.csv', '.txt'))]

আউটপুট

['file1.csv', 'HRDataset.csv', 'Input.csv', 'input.txt', 'input_copy.txt', 'movies_data.csv', 'my_html_data_to_csv.csv', 'temporary_file1_for_zip.csv', 'temporary_file2_for_zip.csv', 'test.csv', 'test1.txt', 'test2.txt', 'tmdb_5000_movies.csv']

মনে রাখবেন এই মেথডগুলো টাপল এক্সেপ্ট করে। আপনার যদি লিস্ট থাকে, তবে টাপলে কনভার্ট করতে হবে।

import os
# লিস্ট চয়েস প্যাটার্ন
patters = ['.csv', '.txt']
filenames = os.listdir('.')
# ত্রুটি হবে কারণ লিস্ট পাস করা হয়েছে
any(name.endswith(patters) for name in filenames)
# TypeError: endswith first arg must be str or a tuple of str, not list

টাপলে কনভার্ট করুন

any(name.endswith(tuple(patters)) for name in filenames)

আউটপুট

True

ফাইল নাম পেতে

[name for name in filenames if name.endswith(tuple(patters))]

অন্যান্য অপারেশনlarla সংযোজন

startswith() এবং endswith() মেথডগুলো অন্যান্য অপারেশনlarla একসাথে ব্যবহার করা উপযুক্ত, যেমন সাধারণ ডেটা রিডাকশন। উদাহরণ:

if any(name.endswith(tuple(patters)) for name in filenames):
    # এখানে আপনার লজিক লিখুন
  1. জাভা রেগেক্স দিয়ে ইনপুট এর শেষ ম্যাচ করা (\z)

  2. Python-এ কীবোর্ড থেকে কপি করা টেক্সট পেস্ট করার পদ্ধতি

  3. পাইথনে স্ট্রিং-এর আকার পাওয়া

  4. পাইথনে স্ট্রিং-এর দৈর্ঘ্য পাওয়া