Söker efter delsträngar i Python: Alternativ till "contains" och "indexOf"

Python

Förstå strängmetoder i Python

Python-programmerare behöver ofta kontrollera om en delsträng finns i en sträng. Medan många språk erbjuder metoder som `contains` eller `indexOf`, har Python sitt eget sätt att hantera detta vanliga krav. I den här artikeln kommer vi att undersöka hur du kan utföra delsträngskontroller i Python effektivt.

Oavsett om du är ny på Python eller byter från ett annat programmeringsspråk är det viktigt att förstå dessa metoder. Vi kommer att ge exempel och förklara de bästa metoderna för att kontrollera delsträngar, så att du kan skriva ren och effektiv Python-kod.

Kommando Beskrivning
in Kontrollerar om en delsträng finns inom en huvudsträng och returnerar True eller False.
find Returnerar det lägsta indexet i strängen där delsträngen hittas; returnerar -1 om den inte hittas.
def Definierar ett funktionsblock med kod som bara körs när det anropas.
for Används för att loopa över en sekvens (som en lista, tuppel, ordbok, uppsättning eller sträng).
if not Villkorssats som exekverar kod om villkoret är falskt.
continue Hoppar över resten av koden inuti slingan endast för den aktuella iterationen och fortsätter sedan med nästa iteration.

Förstå delsträngskontroller i Python

Skripten som tillhandahålls visar hur man söker efter delsträngar i Python med två olika metoder: den nyckelord och metod. Det första skriptet definierar en funktion, , som kräver två argument: main_string och . Den återkommer om finns inom main_string och annat. Detta uppnås med hjälp av nyckelord, vilket är ett enkelt och effektivt sätt att utföra delsträngskontroller i Python. Skriptet itererar sedan över en lista med strängar med hjälp av en loop, och om substring inte hittas i den aktuella strängen, använder den uttalande för att hoppa till nästa iteration.

Det andra skriptet använder ett liknande tillvägagångssätt men utnyttjar metod istället. Funktionen kontrollerar om finns i main_string genom att återvända om metoden återkommer inte . De find metod söker efter och returnerar det lägsta indexet där det finns, eller om den inte hittas. Denna metod ger mer kontroll om du behöver positionen för , men för en enkel kontroll in sökord är enklare. Båda skripten illustrerar hur man effektivt söker efter delsträngar och hanterar fall där delsträngen inte hittas, vilket möjliggör ren och läsbar Python-kod.

Hur man söker efter delsträngar i Python

Python-skriptexempel som använder "in" nyckelord

def contains_substring(main_string, substring):
    return substring in main_string

strings_to_check = ["hello world", "Python programming", "substring search"]
substring = "Python"

for string in strings_to_check:
    if not contains_substring(string, substring):
        continue
    print(f"'{substring}' found in '{string}'")

Hitta delsträngar med Pythons 'hitta' metod

Python-skriptexempel med "hitta"-metoden

def contains_substring_with_find(main_string, substring):
    return main_string.find(substring) != -1

strings_to_check = ["example string", "testing find method", "no match here"]
substring = "find"

for string in strings_to_check:
    if not contains_substring_with_find(string, substring):
        continue
    print(f"'{substring}' found in '{string}'")

Utforska alternativa strängmetoder i Python

Utöver nyckelord och metod, erbjuder Python andra strängmetoder som kan vara användbara för att kontrollera delsträngar. En sådan metod är , som returnerar antalet icke-överlappande förekomster av en delsträng i en sträng. Även om det inte är en direkt ersättning för contains eller , kan den användas för att avgöra om en delsträng existerar genom att kontrollera om antalet är större än noll. En annan metod är , som kontrollerar om en sträng börjar med en angiven delsträng. Den här metoden är särskilt användbar när du behöver verifiera prefix i strängar, som att kontrollera om en URL börjar med 'http'.

På samma sätt metod kontrollerar om en sträng slutar med en specificerad delsträng. Detta är användbart för att verifiera filtillägg eller andra suffix. Python tillhandahåller också modul för mer avancerade delsträngsökningar med reguljära uttryck. De funktionen möjliggör mönstermatchning inom strängar, vilket ger ett kraftfullt sätt att hitta komplexa delsträngar. Även om reguljära uttryck kan vara mer komplexa att skriva och förstå, erbjuder de flexibilitet och kraft för intrikata delsträngsökningar. Dessa alternativa metoder ger Python-programmerare en mängd olika verktyg för att hantera delsträngskontroller, tillgodose olika behov och användningsfall.

Vanliga frågor om delsträngsmetoder i Python

  1. Hur kan jag kontrollera om en sträng innehåller en delsträng i Python?
  2. Du kan använda nyckelordet eller metod för att kontrollera om en sträng innehåller en delsträng.
  3. Vad är skillnaden mellan och metoder?
  4. De metod returnerar -1 om delsträngen inte hittas, medan metod väcker ett ValueError.
  5. Kan jag använda reguljära uttryck för delsträngskontroller i Python?
  6. Ja, du kan använda funktion från modul för avancerade delsträngssökningar.
  7. Hur kontrollerar jag om en sträng börjar med en specifik delsträng?
  8. Du kan använda metod för att kontrollera om en sträng börjar med en specifik delsträng.
  9. Vilken metod kan jag använda för att kontrollera om en sträng slutar med en viss delsträng?
  10. De metod kan användas för att kontrollera om en sträng slutar med en viss delsträng.
  11. Finns det en metod för att räkna förekomster av en delsträng i en sträng?
  12. Ja den metod returnerar antalet icke-överlappande förekomster av en delsträng i en sträng.
  13. Hur kan jag hantera fall där delsträngen inte hittas?
  14. Du kan använda en uttalande med eller kolla om returnerar -1 för att hantera fall där delsträngen inte hittas.
  15. Finns det skillnader i prestanda mellan dessa metoder?
  16. Ja, metoder som och är i allmänhet snabbare för enkla kontroller, medan reguljära uttryck kan vara långsammare men kraftfullare.

Slutliga tankar om delsträngsmetoder i Python

Python har inte en eller metod som vissa andra språk. Det ger dock olika sätt att leta efter delsträngar, till exempel nyckelord, den find metod och reguljära uttryck. Varje metod har sina fördelar, vilket gör det viktigt att välja rätt utifrån dina specifika behov. Genom att behärska dessa tekniker kan du effektivt hantera delsträngskontroller och skriva ren, effektiv Python-kod.