Փիթոնի տողում ենթալարի բոլոր երևույթները գտնելը


Տողերը կազմված են նիշերից և սկզբնավորվում են կոդի մեջ՝ օգտագործելով պարզ կամ կրկնակի չակերտներ, իսկ ենթատողը նույնպես տողի ներսում առկա նիշ է: Python-ը բազմակողմանի և բարձր մակարդակի լեզու է, որը հեշտությամբ կարելի է հասկանալ օգտագործողի համար: Այս հոդվածում ենթալարի բոլոր երևույթները հայտնաբերվել են տողում, օգտագործելով Python լեզուն, կարելի է անել տարբեր մեթոդներով: Որոշ տարածված մեթոդներ են index() մեթոդը, օպերատորում find() մեթոդը և օգտագործում կանոնավոր արտահայտման մեթոդ:

Փիթոնի տողում ենթալարի բոլոր երևույթները գտնելը

Ենթատողերը տողի նիշերն են, և այդ ենթատողերը գտնելու մեթոդները բացատրվում են ստորև:

Շարահյուսություն

str.find(substr, initial, final)

Որոնվող տողը տրվում է str-ով, օգտագործելով find() ֆունկցիան: Այս ֆունկցիան ունի երեք արգումենտ՝ ենթատողը, տողի սկզբնական արժեքը՝ 0, իսկ վերջնական արժեքը կարող է լինել ըստ տողի երկարության։

Մոտեցում

Մոտեցում 1 – Փորձել և բացառելու մեթոդի կիրառում

Մոտեցում 2 – Օգտագործելով «re» կանոնավոր արտահայտություն

Մոտեցում 1. Python ծրագիր՝ ենթալարի բոլոր երևույթները տպելու համար՝ օգտագործելով try and բացի մեթոդը

Մուտքային տողը նախաստորագրված է, և օգտագործելով index() մեթոդը, մենք կարող ենք կրկնել չգտնված յուրաքանչյուր ենթատողի վրա, արժեքի սխալ է բարձրացվել և հայտարարությունը տպել բացառությամբ բլոկի մեջ:

Ալգորիթմ

  • Քայլ 1 − Փոփոխականները սահմանվում են արժեքներով որպես «Բարև, Բարի գալուստ Tutorialspoint»:

  • Քայլ 2 − Ենթալարի փոփոխականները սահմանվում են «l», «z» և «e» արժեքներով։

  • Քայլ 3 − Գտնել ենթատողի առաջին հայտնվելը տողի մեջ՝ սկսած սկզբնական ինդեքսից՝ օգտագործելով index() մեթոդը:

  • Քայլ 4 − for հանգույցն օգտագործվում է տողերի միջով կրկնելու համար, և երբ ենթատողերը առկա են տողում, տպագրվում է «Բոլոր տողերը գտնվել են» հայտարարությունը:

  • Քայլ 5 − Երբ ենթատողերը չկան տողում, ապա տպագրվում է «Ոչ բոլոր տողերը գտնվել» հայտարարությունը:

  • Քայլ 6 − − Օգտագործելով try and բացի մեթոդը, տողերը ստուգվում են տողում ենթալարի բոլոր հնարավոր երևույթների համար:

  • Քայլ 7 - Երբ ստորև նշված կոդը գործարկվում է, այն վերադարձնում է արդյունքը:

Օրինակ

#initializing the string
num = "Hello welcome to India" 

#to find the occurrence of the substring ‘l’, ‘z’, ‘e’ is initialized as substr
substr = ["l", "z", "e"] 
#trying to find the substrings using index() method
try:
   for sub in substr:
      num.index(sub)
   #this statement is printed when the substring is present in the input string
   print("All substrings found!") 
except ValueError:
   #this statement is printed when the substring is not present in the input string
   print("substrings are not found!") 

Արդյունք

substrings are not found!

Մոտեցում 2. Python ծրագիր՝ ենթալարի բոլոր երևույթները տպելու համար՝ օգտագործելով «re» կանոնավոր արտահայտությունը

Կանոնավոր արտահայտության ձևանմուշը ստեղծվում է բոլոր ենթատողերի ցուցակները մուտքագրված տողի հետ համապատասխանելու համար: Այնուհետև օգտագործելով findall() ֆունկցիան re python գրադարանից՝ տողի բոլոր երևույթները գտնելու համար: Այս արտահայտությունը վերադարձնում է true, եթե համընկնումների թիվը հավասար է ենթատողերի ցանկի երկարությանը, ապա false:

Ալգորիթմ

  • Քայլ 1 − Ներմուծեք պահանջվող մոդուլը որպես «re» գրադարան և սահմանեք all_substrings_present() անունով ֆունկցիա։

  • Քայլ 2 − Findall() ֆունկցիան օգտագործվում է, քանի որ «re» գրադարանը ներմուծվում է ենթատողերի առկայությունը ստուգելու համար:

  • Քայլ 3 − Սահմանված ֆունկցիան վերադարձնում է «true», երբ ենթատողերը համընկնում են տողերի հետ, այլապես վերադարձնում է «false»:

  • Քայլ 4 − Նախաստորագրեք input_str անունով տողը որպես «Բարև, բարի գալուստ Հնդկաստան», որը պարունակում է տողերի մի շարք և նախաստորագրեք ենթատողը հաջորդ հայտարարության մեջ:

  • Քայլ 5 − Օգտագործեք if-else հայտարարությունը ստուգելու համար, որ ենթատողը ներկայացված է input_str-ում, թե ոչ:

  • Քայլ 6 − Վերջապես, տպագրական հայտարարությունը վերադառնում է պայմանի համաձայն:

Օրինակ

#importing the “re” module
import re
#defining the function with two parameters as input string and substring
def strfind(input_str, substr_list):
   # Regular expression is created and initialized as a shape
   shape = "(?=.*" + ")(?=.*".join(substr_list) + ").*"
   #using the findall() function to check for the characters in the string
   matches = re.findall(shape, input_str)

   # when the substrings are matched with the strings it returns true else false
   return len(matches) == 1
#initializing the string 
input_str = "Hello welcome to India"
#initializing the characters that need to be found in the input string
substr_list = ["l", "c", "e"]

#To check using the if else statement 
if strfind(input_str, substr_list):
#when the characters are matched this statement is printed.
   print("All substrings found!")
else:
#when the characters are not matched this statement is printed.
   print("Not all substrings found.")

Արդյունք

All substrings found!

Եզրակացություն

Ծրագրավորողը կարող է աշխատել տողերի հետ, բայց ենթատողերի հետ գործ ունենալը կհանգեցնի որոշ բարդ խնդիրների: Օգտագործելով տարբեր մեթոդներ՝ մենք կարող ենք գտնել ենթատողերի բոլոր երևույթները նիշերի մուտքագրման տողում: Արդյունքը վերադարձվում է տողերի արժեքների համապատասխանության հիման վրա: