ازگر: چیک کریں کہ آیا اسٹرنگ میں سبسٹرنگ ہے۔

یہ جانچنا کہ آیا کسی سٹرنگ میں کنڈیشنلز کو عام کرنے اور مزید لچکدار کوڈ بنانے کے لیے سب اسٹرنگ ایڈز شامل ہیں۔ مزید برآں، آپ کے ڈومین ماڈل پر منحصر ہے - اگر کوئی سٹرنگ اپنے آپ میں کسی فیلڈ کو انکوڈ کرتی ہے تو اس کی جانچ کرنا آپ کو کسی آبجیکٹ کے فیلڈز کا اندازہ لگانے کی بھی اجازت دے سکتا ہے۔

اس گائیڈ میں، ہم اس پر ایک نظر ڈالیں گے۔ یہ کیسے چیک کریں کہ آیا سٹرنگ میں سبسٹرنگ ہے۔ ازگر میں

۔ in آپریٹر

یہ چیک کرنے کا سب سے آسان طریقہ ہے کہ آیا Python سٹرنگ میں سب اسٹرنگ موجود ہے یا نہیں۔ in آپریٹر

۔ in آپریٹر کا استعمال Python میں رکنیت کے لیے ڈیٹا ڈھانچے کو چیک کرنے کے لیے کیا جاتا ہے۔ یہ ایک بولین لوٹاتا ہے (یا تو True or False)۔ یہ چیک کرنے کے لیے کہ آیا کسی سٹرنگ میں Python میں سب اسٹرنگ ہے۔ in آپریٹر، ہم اسے صرف سپر اسٹرنگ پر پکارتے ہیں:

fullstring = "StackAbuse"
substring = "tack"

if substring in fullstring:
    print("Found!")
else:
    print("Not found!")

یہ آپریٹر کسی شے کو کال کرنے کے لیے شارٹ ہینڈ ہے۔ __contains__ طریقہ، اور یہ جانچنے کے لیے بھی اچھی طرح کام کرتا ہے کہ آیا فہرست میں کوئی آئٹم موجود ہے یا نہیں۔ یہ قابل غور ہے کہ یہ ہے غیر محفوظ نہیں، تو اگر ہماری fullstring کی طرف اشارہ کر رہا تھا None، ایک استثناء دیا جائے گا:

TypeError: argument of type 'NoneType' is not iterable

اس سے بچنے کے لیے، آپ سب سے پہلے یہ دیکھنا چاہیں گے کہ آیا یہ اشارہ کرتا ہے۔ None یا نہیں:

fullstring = None
substring = "tack"

if fullstring != None and substring in fullstring:
    print("Found!")
else:
    print("Not found!")

۔ String.index() طریقہ

Python میں String قسم کا ایک طریقہ ہے جسے کہا جاتا ہے۔ index() جس کا استعمال سٹرنگ میں سبسٹرنگ کی پہلی موجودگی کا ابتدائی انڈیکس تلاش کرنے کے لیے کیا جا سکتا ہے۔

اگر ذیلی پٹی نہیں ملتی ہے، a ValueError استثناء پھینک دیا جاتا ہے، جسے try-except-else بلاک کے ساتھ سنبھالا جا سکتا ہے:

fullstring = "StackAbuse"
substring = "tack"

try:
    fullstring.index(substring)
except ValueError:
    print("Not found!")
else:
    print("Found!")

یہ طریقہ کارآمد ہے اگر آپ کو بھی سب اسٹرنگ کی پوزیشن جاننے کی ضرورت ہو، جیسا کہ اس کے مکمل سٹرنگ میں موجود ہونے کے برعکس۔ طریقہ خود انڈیکس واپس کرتا ہے:

print(fullstring.index(substring))

اگرچہ - یہ جانچنے کی خاطر کہ آیا سٹرنگ میں ذیلی اسٹرنگ ہے، یہ ایک لفظی نقطہ نظر ہے۔

String.find() طریقہ

اسٹرنگ کلاس کا ایک اور طریقہ ہے جسے کہا جاتا ہے۔ find() جو استعمال کرنے میں زیادہ آسان ہے۔ index()بنیادی طور پر اس لیے کہ ہمیں کسی بھی استثناء کو سنبھالنے کے بارے میں فکر کرنے کی ضرورت نہیں ہے۔

If find() کوئی مماثلت نہیں ملتی ہے، یہ -1 لوٹاتا ہے، بصورت دیگر یہ بڑی سٹرنگ میں سبسٹرنگ کا سب سے بائیں طرف انڈیکس لوٹاتا ہے:

بہترین طرز عمل، صنعت کے لیے منظور شدہ معیارات، اور چیٹ شیٹ کے ساتھ Git سیکھنے کے لیے ہمارے ہینڈ آن، عملی گائیڈ کو دیکھیں۔ گوگلنگ گٹ کمانڈز کو روکیں اور اصل میں سیکھ یہ!

fullstring = "StackAbuse"
substring = "tack"

if fullstring.find(substring) != -1:
    print("Found!")
else:
    print("Not found!")

قدرتی طور پر، یہ ایک ہی تلاش کرتا ہے جیسا کہ index() اور پیرنٹ سٹرنگ کے اندر سبسٹرنگ کے آغاز کا اشاریہ لوٹاتا ہے:

print(fullstring.find(substring))

ریگولر ایکسپریشنز (RegEx)

ریگولر ایکسپریشنز پیٹرن کے ملاپ کے لیے تاروں کو چیک کرنے کے لیے زیادہ لچکدار (زیادہ پیچیدہ ہونے کے باوجود) طریقہ فراہم کرتے ہیں۔ ریگولر ایکسپریشنز کے ساتھ، آپ پچھلے کی طرح سادہ چیکس کے بجائے بہت بڑی تلاش کی جگہوں کے ذریعے لچکدار اور طاقتور تلاشیں انجام دے سکتے ہیں۔

ازگر کو ریگولر ایکسپریشنز کے لیے بلٹ ان ماڈیول کے ساتھ بھیجا جاتا ہے، جسے کہتے ہیں۔ re. re ماڈیول نامی ایک فنکشن پر مشتمل ہے۔ search()، جسے ہم سب اسٹرنگ پیٹرن سے ملنے کے لیے استعمال کر سکتے ہیں:

from re import search

fullstring = "StackAbuse"
substring = "tack"

if search(substring, fullstring):
    print "Found!"
else:
    print "Not found!"

یہ طریقہ بہترین ہے اگر آپ کو زیادہ پیچیدہ میچنگ فنکشن کی ضرورت ہو، جیسے کیس غیر حساس مماثلت، یا اگر آپ بڑی تلاش کی جگہوں سے نمٹ رہے ہیں۔ بصورت دیگر regex کی پیچیدگی اور سست رفتار سے سادہ سب اسٹرنگ مماثل استعمال کے معاملات سے گریز کیا جانا چاہئے۔

مصنف کے بارے میں

یہ مضمون جیکب اسٹوپیک نے لکھا تھا، جو ایک سافٹ ویئر کنسلٹنٹ اور ڈویلپر ہے جو کوڈ کے ذریعے دوسروں کی زندگیوں کو بہتر بنانے میں مدد کرنے کا جذبہ رکھتا ہے۔ یعقوب کا خالق ہے۔ ابتدائی کمٹ - ایک سائٹ جو متجسس ڈویلپرز کو یہ جاننے میں مدد کرنے کے لیے وقف ہے کہ ان کے پسندیدہ پروگراموں کو کیسے کوڈ کیا جاتا ہے۔ اس کا نمایاں پروجیکٹ لوگوں کی مدد کرتا ہے۔ Git سیکھیں۔ کوڈ کی سطح پر۔

ٹائم اسٹیمپ:

سے زیادہ Stackabuse