Nye funksjoner for arbeid med strenger. Nye funksjoner for å arbeide med strenger 1s 8.2 serienummer for et tegn i en streng

String-typen finnes i alle programmeringsspråk. Den er primitiv, og i 1C er det mange funksjoner for å jobbe med den. I denne artikkelen skal vi se nærmere på ulike måter å jobbe med strengtyper i 1C 8.3 og 8.2 ved hjelp av eksempler.

Linje

For å konvertere en variabel av hvilken som helst type til en streng, er det en funksjon med samme navn "String()". Inndataparameteren vil være selve variabelen, hvis strengrepresentasjon må innhentes.

String(False) // returnerer "Nei"
String(12345) // returnerer "12.345"
String(CurrentDate()) //"07/21/2017 11:55:36″

Det er mulig å konvertere ikke bare primitive typer til en streng, men også andre, for eksempel elementer i kataloger og dokumenter.

SokrLP, SokrL, SokrP

Inndataparametrene til disse funksjonene er en variabel av strengtype. Funksjonene fjerner ubetydelige tegn (mellomrom, vognretur osv.): fra henholdsvis venstre og høyre side, kun fra venstre side, og kun fra høyre.

Abbreviation(" Mellomrom vil bli fjernet på begge sider ") // "Mellomrom vil bli fjernet på begge sider"
Abbreviation(" Mellomrom på begge sider vil bli fjernet ") // " Mellomrom til venstre vil bli fjernet "
Abbreviation(" Mellomrom på begge sider vil bli fjernet ") // " Mellomrom til høyre vil bli fjernet"

Leo, Høyre, Middels

Disse funksjonene lar deg trimme deler av en streng. "Left()"-funksjonen vil returnere delen av en streng fra venstre side av den angitte lengden. "Right()"-funksjonen er lik, men beskjærer fra høyre. Funksjonen "Avg()" lar deg spesifisere nummeret på tegnet som linjen skal velges fra og lengden på den.

Lev("Strengvariabel", 4) // returnerer "Str"
Right("Strengvariabel", 7) // returnerer "variabel"
Medium("Strengvariabel", 2, 5) // returnerer "troco"

StrLength

Funksjonen bestemmer antall tegn som er inneholdt i en strengvariabel.

StrLength("Word") // resultatet av utførelse vil være tallet 5

Finne

Funksjonen gjør det mulig å søke etter en del av en streng i en strengvariabel. Returverdien vil være et tall som viser posisjonen til begynnelsen av den funnet strengen. Hvis ingen treff blir funnet, returneres null.

Vær oppmerksom på at søket skiller mellom store og små bokstaver. Hvis det er mer enn én forekomst av søkedelstrengen i den opprinnelige strengen, vil funksjonen returnere begynnelsen av den første forekomsten.

Finn("en, to, en, to, tre", "to") //-funksjonen vil returnere tallet 6

Tom linje

Ved å bruke denne funksjonen kan du bestemme om en streng er tom. Mindre tegn som mellomrom, vognretur og andre tas ikke i betraktning.

EmptyString("Pupkin Vasily Ivanovich") //-funksjonen vil returnere verdien False
EmptyString(" ") //-funksjonen vil returnere verdien True

VReg, NReg, TReg

Disse funksjonene er svært nyttige når du sammenligner og konverterer strengvariabler. "Vreg()" vil returnere den opprinnelige strengen med store bokstaver, "HPreg()" med små bokstaver, og "TReg()" vil formatere den slik at det første tegnet i hvert enkelt ord skrives med stor bokstav, og alle etterfølgende tegn skrives med stor bokstav.

VReg("GENERAL DIRECTOR") // returverdi - "GENERAL DIRECTOR"
NReg(“CEO DIRECTOR”) // returverdi – “CEO”
TREG(“CEO DIRECTOR”) // returverdi – “General Director”

Sideerstatt

Denne funksjonen er analog med erstatning i tekstredigerere. Den lar deg erstatte ett tegn eller sett med tegn med et annet i strengvariabler.

StrReplace("rød, hvit, gul", ","", ";") // returnerer "rød; hvit; gul"

StrNumberLines

Funksjonen lar deg bestemme antall linjer atskilt med vognretur i en tekstvariabel.

Løkken i eksemplet nedenfor vil gå gjennom tre runder fordi LineNumberRow-funksjonen vil returnere verdien 3:

For ind = 1 etter StrAntall strenger ("Linje1" + Symboler.PS + "Linje2" + Symboler.PS + "Linje3") syklus
<тело цикла>
EndCycle;

StrGetString

Denne funksjonen fungerer med flerlinjetekst på samme måte som den forrige. Den lar deg hente en bestemt streng fra en tekstvariabel.

StrGetString("String1" + Characters.PS + "String2" + Characters.PS + "String3", 2) // returner "String2"

Sidetall Forekomster

Funksjonen teller antall forekomster av et tegn eller understreng i søkestrengen.

StrNumberAttachments("a;b;c;d; ", ";") //-funksjonen vil returnere tallet 4

Symbol og symbolkode

Disse funksjonene lar deg få et tegn ved hjelp av koden i Unicode-kodingen, samt bestemme denne koden ved hjelp av tegnet selv.

SymbolCode("A") //-funksjonen vil returnere tallet 1040
CharacterCode(1040) //-funksjonen vil returnere "A"

Vanlige oppgaver ved arbeid med strenger

Sammenknytte strenger

For å kombinere flere strenger (for å utføre sammenkobling), er det nok å bruke tilleggsoperatøren.

“Linje 1″ + “Linje 2″ //resultatet av å legge til to linjer vil være “Linje 1 Linje 2”

Type konvertering

For å konvertere en type til en streng, for eksempel en lenke til et katalogelement, et nummer, etc., er det nok å bruke "String()"-funksjonen. Funksjoner som "ScrLP()" vil også konvertere variabler til en streng, men umiddelbart med å kutte av ubetydelige tegn.

String(1000) // returnerer "1000"

Vær oppmerksom på at når du konverterer et tall til en streng, la programmet automatisk til et mellomrom som skiller tusen. For å unngå dette kan du bruke følgende konstruksjoner:

StrReplace(String(1000),Characters.NPP,"") // returnerer "1000"

String(Format(1000,"HG=")) // returnerer "1000"

Sitater i en streng

Ganske ofte vil du måtte forholde deg til behovet for å spesifisere anførselstegn i en strengvariabel. Dette kan enten være forespørselsteksten skrevet i konfiguratoren, eller bare en variabel. For å løse dette problemet trenger du bare å sette to anførselstegn.

Header = String("Horns and Hooves LLC - det er oss!") // vil returnere "Horns and Hooves LLC - det er oss!"

Flerlinjer, linjeskift

For å lage tekst med flere linjer, legg til linjeskift (Symbols.PS) til den.

MultilineText = "First Line" + Symbols.PS + "Second Line"

Hvordan fjerne mellomrom

For å fjerne mellomrom til høyre eller venstre, kan du bruke funksjonen "ScrAP()" (samt "ScrL()" og "ScrP()"):

StringNoSpaces = Abbreviation(" Mange bokstaver ") // funksjonen vil returnere verdien "Mange bokstaver"

Hvis du, etter å ha konvertert et tall til en streng, må fjerne mellomrom som ikke bryter, bruk følgende konstruksjon:

StringNoSpaces = StrReplace(String(99999),Characters.NPP,"") // returnerer "99999"

Programmerere bruker også ofte følgende konstruksjon, som lar deg fjerne eller erstatte alle mellomrom i en tekstvariabel med et annet tegn:

StringNoSpaces = StrReplace("hei","") // returnerer "hei"

Sammenligning av strenger med hverandre

Du kan sammenligne termer med det vanlige likhetstegnet. Sammenligningen skiller mellom store og små bokstaver.

"Hei" = "hei" // returnerer False
"Hello" = "Hei" // returnerer True
"Hei" = "Farvel" // vil returnere False

En streng er en av de primitive datatypene i 1C:Enterprise 8-systemer. Variabler med typen linje inneholde tekst.

Skriv inn variabelverdier linje er omgitt av doble anførselstegn. Flere variabler av denne typen kan legges til.

Per1 = "Ord 1" ;
Per2 = "Ord 2" ;
Per3 = Per1 + " " + Per2;

Etter hvert Per 3 vil bety" Ord 1 Ord 2".

I tillegg har 1C:Enterprise 8-systemer funksjoner for arbeid med strenger. La oss se på de viktigste:

EnterString(<Строка>, <Подсказка>, <Длина>, <Многострочность>) — funksjonen er utformet for å vise en dialogboks der brukeren kan spesifisere verdien av en variabel av typen Linje. Parameter <Строка> er påkrevd og inneholder navnet på variabelen som den angitte strengen skal skrives inn i. Parameter <Подсказка> valgfritt - dette er tittelen på dialogboksen. Parameter <Длина> valgfritt, viser maksimal lengde på inndatastrengen. Standard er null, som betyr ubegrenset lengde. Parameter <Многострочность> valgfri. Definerer flerlinjers tekstinntastingsmodus: True – flerlinjet tekstinntasting med linjeskilletegn; False - skriv inn en enkel streng.

Du kan skrive inn en streng hvis du kjenner tegnkoden i Unicode:

Symbol(<КодСимвола>) — koden legges inn som et tall.

Bokstav= Symbol(1103) ; // JEG

Det er også en invers funksjon som lar deg finne ut koden til et symbol.

Symbolkode(<Строка>, <НомерСимвола>) — returnerer Unicode-nummeret til det angitte tegnet som et tall.

Tekstkonverteringsfunksjoner for store og små bokstaver:

VReg(<Строка>) — Konverterer alle tegn i en streng til store bokstaver.

NReg(<Строка>) — Konverterer alle tegn i en streng til små bokstaver.

TReg(<Строка>) — konverterer alle tegn i strengen til store og små bokstaver i tittelen. Det vil si at de første bokstavene i alle ord konverteres til store bokstaver, og de resterende bokstavene konverteres til små bokstaver.

Funksjoner for å søke og erstatte tegn i en streng:

Finne(<Строка>, <ПодстрокаПоиска>) — finner tegnnummeret for forekomsten av søkedelstrengen. For eksempel:

Finn ("String" , "oka" ); // 4

StrFind(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) — finner tegnnummeret for forekomsten av søkedelstrengen, forekomstnummeret er angitt i den tilsvarende parameteren. I dette tilfellet begynner søket med tegnet hvis nummer er spesifisert i parameteren Start posisjon. Søking er mulig fra begynnelsen eller slutten av strengen. For eksempel:

Number4-forekomster = Str Finn ( "Defensivitet", "om" ,Søkeretning. Fra start, 1, 4); // 7

StrReplace(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) – finner alle forekomster av søkedelstrengen i kildestrengen og erstatter den med erstatningsdelstrengen.

StrReplace ("String" , "oka", "" ); // Side

Tom linje(<Строка>) – sjekker strengen for signifikante tegn. Hvis det ikke er noen signifikante tegn, eller ingen tegn i det hele tatt, returneres verdien ekte. Ellers - Å ligge.

StrNumberCurrences(<Строка>, <ПодстрокаПоиска>) – Beregner antall forekomster av søkedelstrengen i kildestrengen.

StrNumberOccurrences ( "Studer, studer og studer igjen", "studere" , "" ) ; // 3

StrTemplate(<Строка>, <ЗначениеПодстановки1>…<ЗначениеПодстановкиN> — erstatter parametere i en streng med tall. Linjen må inneholde erstatningsmarkører av formen: "%1..%N". Markørnummerering starter fra 1. Hvis parameterverdien Udefinert, erstattes en tom streng.

StrTemplate ( "Parameter 1 = %1, parameter 2 = %2", "1" , "2" ) ; // Parameter 1= 1, Parameter 2 = 2

Stringkonverteringsfunksjoner:

En løve(<Строка>, <ЧислоСимволов>) – returnerer de første tegnene i en streng.

Ikke sant(<Строка>, <ЧислоСимволов>) – returnerer de siste tegnene i en streng.

Onsdag(<Строка>, <НачальныйНомер>, <ЧислоСимволов>) – returnerer en streng med lengde<ЧислоСимволов>, med utgangspunkt i symbolet<НачальныйНомер>.

AbbrL(<Строка>) trimmer ikke-signifikante tegn til venstre for det første signifikante tegnet i strengen.

Forkortelse(<Строка>) — klipper av ubetydelige tegn til høyre for det siste signifikante tegnet i linjen.

AbbrLP(<Строка>) – kutter av ubetydelige tegn til venstre for det første signifikante tegnet i linjen og til høyre for det siste signifikante tegnet i linjen.

StrGetString(<Строка>, <НомерСтроки>) – Får en flerlinjet streng etter tall.

Andre funksjoner:

StrLength(<Строка>) – returnerer antall tegn i strengen.

StrNumberRow(<Строка>) – returnerer antall linjer i en flerlinjet streng. En linje anses som ny hvis den er atskilt fra den forrige med et linjeskifttegn.

StrCompare(<Строка1>, <Строка2> ) – sammenligner to strenger på en måte som ikke skiller mellom store og små bokstaver. En funksjon fungerer på samme måte som et objekt Sammenligning av verdier. Returnerer:

  • 1 - hvis den første linjen er større enn den andre
  • -1 - hvis den andre linjen er større enn den første
  • 0 - hvis strengene er like

StrCompare("Første linje" , "Andre linje" ); // 1

Notater fra Through the Looking Glass

18.08.2014 Nye funksjoner for arbeid med strenger

Implementert i versjon 8.3.6.1977.

Vi har utvidet settet med funksjoner designet for å fungere med strenger. Vi gjorde dette for å gi deg mer avanserte verktøy for å analysere strengdata. De nye funksjonene vil være praktiske og nyttige i teknologiske oppgaver med tekstanalyse. I oppgaver knyttet til å analysere tekst som inneholder data i formatert form. Dette kan være en analyse av noen filer mottatt fra utstyret, eller for eksempel en analyse av en teknologisk logg.

Du kan utføre alle handlingene som utfører nye funksjoner før. Bruke mer eller mindre komplekse algoritmer skrevet i et innebygd språk. Derfor gir ikke nye funksjoner deg noen fundamentalt nye muligheter. De lar deg imidlertid redusere mengden kode og gjøre koden enklere og mer forståelig. I tillegg lar de deg fremskynde utførelsen av handlinger. Fordi funksjonene implementert i plattformen fungerer, selvfølgelig, raskere enn en lignende algoritme skrevet i et innebygd språk.

Formateringsfunksjon StrTemplate()

Denne funksjonen erstatter parametere i en streng. Behovet for en slik konvertering oppstår ofte for eksempel ved visning av advarselsmeldinger. Syntaksen for denne funksjonen er som følger:

StrTemplate(<Шаблон>, <Значение1-Значение10>)

<Шаблон>- dette er strengen du må erstatte parameterrepresentasjonene i.

<Значение1> , ... <Значение10>- dette er parametere (maksimalt ti), hvis representasjoner må erstattes i strengen.

For å indikere et spesifikt sted i malen der du vil utføre erstatningen, må du bruke markører som %1, ... %10. Antallet markører som er involvert i malen og antallet parametere som inneholder verdier må samsvare.

For eksempel resultatet av å utføre en slik operatør:

det vil være en linje:

Datafeil på linje 2 (datotype kreves)

Funksjon for arbeid med strenger StrCompare()

Denne funksjonen sammenligner to strenger på en måte som ikke skiller mellom store og små bokstaver. For eksempel slik:

Du kan utføre samme handling tidligere ved å bruke objektet Sammenligning av verdier:

Å bruke den nye funksjonen ser imidlertid enklere ut. Og i tillegg til dette, en funksjon, i motsetning til et objekt Sammenligning av verdier, fungerer både i tynnklienten og nettklienten.

Funksjoner for å jobbe med strenger StrStartsWith(), StrEndsAt()

Disse funksjonene bestemmer om en streng begynner med en spesifisert delstreng eller om en streng slutter med en spesifisert delstreng. Algoritmen for disse funksjonene er ikke vanskelig å implementere i et innebygd språk, men deres tilstedeværelse lar deg skrive renere og mer forståelig kode. Og de jobber raskere.

For eksempel er det praktisk å bruke dem i operatøren Hvis:

Funksjoner for å arbeide med strenger StrDivide(), StrConnect()

Disse funksjonene deler en streng i deler ved hjelp av et spesifisert skilletegn. Eller omvendt, de kombinerer flere linjer til én, og setter inn den valgte skillelinjen mellom dem. De er praktiske for å lage eller analysere logger og teknologiske journaler. For eksempel kan du enkelt analysere en teknologisk loggoppføring i deler som er egnet for videre analyse:

Funksjon for å jobbe med strenger StrFind()

I stedet for den gamle funksjonen Finne() Vi har implementert en ny funksjon som har flere funksjoner:

  • Søk i forskjellige retninger (fra begynnelsen, fra slutten);
  • Søk fra en spesifisert posisjon;
  • Søk etter en forekomst med et spesifisert nummer (andre, tredje osv.).

Faktisk dupliserer den egenskapene til den gamle funksjonen. Dette gjøres for å opprettholde kompatibilitet med moduler kompilert i eldre versjoner. Gammel funksjon Finne() Det anbefales å ikke bruke igjen.

Nedenfor er et eksempel som bruker de nye søkemulighetene. Omvendt søk er nyttig når du trenger den siste delen av en formalisert streng, for eksempel hele filnavnet i en URL. Og å søke fra en spesifisert posisjon hjelper i tilfeller der du trenger å søke i et kjent fragment, og ikke i hele linjen.

Det er få mekanismer for å jobbe med strenger i 1C-spørringer. Først kan linjene legges til. For det andre kan du ta en delstreng fra en streng. For det tredje kan strenger sammenlignes, inkludert etter mønster. Det er nok alt som kan gjøres med strenger.

Strengtilsetning

For å legge til rader i en spørring, brukes "+"-operasjonen. Du kan bare legge til strenger med begrenset lengde.

VELG "Navn: " + Motparter. Navn AS Kolonne 1 FRA katalog. Motparter AS Motparter WHERE Motparter. Link = &Link

Delstrengfunksjon

SUBSTRING(<Строка>, <НачальнаяПозиция>, <Длина>)

En analog av Environment()-funksjonen fra objektmodellen. Substring()-funksjonen kan brukes på strengdata og lar deg velge et fragment <Строки> , som starter med tegnnummeret <НачальнаяПозиция> (tegn i en linje er nummerert fra 1) og lengde <Длина> tegn. Resultatet av funksjonsberegningen har en strengtype med variabel lengde, og lengden vil anses som ubegrenset hvis <Строка> har ubegrenset lengde og parameter <Длина> er ikke en konstant eller større enn 1024.

Hvis lengden på strengen er mindre enn spesifisert i den andre parameteren, vil funksjonen returnere en tom streng.

Merk følgende! Det anbefales ikke å bruke SUBSTRING()-funksjonen til å konvertere strenger med ubegrenset lengde til strenger med begrenset lengde. I stedet er det bedre å bruke cast-operatøren EXPRESS().

Funksjon lignende

Hvis vi må forsikre oss om at et strengattributt oppfyller visse kriterier, sammenligner vi det:

VELG Motparter Navn AS Kolonne 1 FRA Katalog Motparter AS Motparter HVOR Motparter Navn = "Gazprom"

Men hva om du trenger en mer subtil sammenligning? Ikke bare likhet eller ulikhet, men likhet med et bestemt mønster? Det er akkurat dette SIMILAR-funksjonen ble laget for.

LIKE — Operator for å sjekke en streng for likhet med et mønster. Analog av LIKE i SQL.

SIMILAR-operatoren lar deg sammenligne verdien av uttrykket som er spesifisert til venstre for det med mønsterstrengen som er spesifisert til høyre. Verdien til uttrykket må være av typen streng. Hvis verdien av uttrykket samsvarer med mønsteret, vil resultatet av operatoren være TRUE, ellers vil det være FALSE.

Følgende tegn i malstrengen er tjenestetegn og har en annen betydning enn strengtegnet:

  • % (prosent): en sekvens som inneholder et hvilket som helst antall vilkårlige tegn;
  • _ (understrek): ett vilkårlig tegn;
  • […] (ett eller flere tegn i hakeparenteser): ethvert enkelt tegn oppført innenfor hakeparentesene. Oppregningen kan inneholde områder, for eksempel a-z, som betyr et vilkårlig tegn inkludert i området, inkludert endene av området;
  • [^...] (i hakeparentes et negasjonstegn etterfulgt av ett eller flere tegn): ethvert enkelt tegn annet enn de som er oppført etter negasjonstegnet.

Ethvert annet symbol betyr seg selv og bærer ingen ekstra belastning. Hvis et av de oppførte tegnene må skrives som seg selv, må det innledes med<Спецсимвол>. Meg selv<Спецсимвол>(hvilket som helst passende tegn) er definert i den samme setningen etter nøkkelordet SPECIAL CHARACTER.

Implementert i versjon 8.3.6.1977.

Vi har utvidet settet med funksjoner designet for å fungere med strenger. Vi gjorde dette for å gi deg mer avanserte verktøy for å analysere strengdata. De nye funksjonene vil være praktiske og nyttige i teknologiske oppgaver med tekstanalyse. I oppgaver knyttet til å analysere tekst som inneholder data i formatert form. Dette kan være en analyse av noen filer mottatt fra utstyret, eller for eksempel en analyse av en teknologisk logg.

Du kan utføre alle handlingene som utfører nye funksjoner før. Bruke mer eller mindre komplekse algoritmer skrevet i et innebygd språk. Derfor gir ikke nye funksjoner deg noen fundamentalt nye muligheter. De lar deg imidlertid redusere mengden kode og gjøre koden enklere og mer forståelig. I tillegg lar de deg fremskynde utførelsen av handlinger. Fordi funksjonene implementert i plattformen fungerer, selvfølgelig, raskere enn en lignende algoritme skrevet i et innebygd språk.

Formateringsfunksjon StrTemplate()

Denne funksjonen erstatter parametere i en streng. Behovet for en slik konvertering oppstår ofte for eksempel ved visning av advarselsmeldinger. Syntaksen for denne funksjonen er som følger:

StrTemplate(<Шаблон>, <Значение1-Значение10>)

<Шаблон>- dette er strengen du må erstatte parameterrepresentasjonene i.

<Значение1> , ... <Значение10>- dette er parametere (maksimalt ti), hvis representasjoner må erstattes i strengen.

For å indikere et spesifikt sted i malen der du vil utføre erstatningen, må du bruke markører som %1, ... %10. Antallet markører som er involvert i malen og antallet parametere som inneholder verdier må samsvare.

For eksempel resultatet av å utføre en slik operatør:

det vil være en linje:

Datafeil på linje 2 (datotype kreves)

Funksjon for arbeid med strenger StrCompare()

Denne funksjonen sammenligner to strenger på en måte som ikke skiller mellom store og små bokstaver. For eksempel slik:

Du kan utføre den samme handlingen tidligere ved å bruke verdisammenligningsobjektet:

Å bruke den nye funksjonen ser imidlertid enklere ut. Og i tillegg til dette fungerer funksjonen, i motsetning til Value Comparison-objektet, både i tynnklienten og webklienten.

Funksjoner for å jobbe med strenger StrStartsWith(), StrEndsAt()

Disse funksjonene bestemmer om en streng begynner med en spesifisert delstreng eller om en streng slutter med en spesifisert delstreng. Algoritmen for disse funksjonene er ikke vanskelig å implementere i et innebygd språk, men deres tilstedeværelse lar deg skrive renere og mer forståelig kode. Og de jobber raskere.

For eksempel er de praktiske å bruke i If-setningen:

Funksjoner for å arbeide med strenger StrDivide(), StrConnect()

Disse funksjonene deler en streng i deler ved hjelp av et spesifisert skilletegn. Eller omvendt, de kombinerer flere linjer til én, og setter inn den valgte skillelinjen mellom dem. De er praktiske for å lage eller analysere logger og teknologiske journaler. For eksempel kan du enkelt analysere en teknologisk loggoppføring i deler som er egnet for videre analyse:

Funksjon for å jobbe med strenger StrFind()

I stedet for den gamle Finn()-funksjonen, har vi implementert en ny funksjon som har flere funksjoner:

  • Søk i forskjellige retninger (fra begynnelsen, fra slutten);
  • Søk fra en spesifisert posisjon;
  • Søk etter en forekomst med et spesifisert nummer (andre, tredje osv.).

Faktisk dupliserer den egenskapene til den gamle funksjonen. Dette gjøres for å opprettholde kompatibilitet med moduler kompilert i eldre versjoner. Det anbefales at du ikke lenger bruker den gamle Finn()-funksjonen.

Nedenfor er et eksempel som bruker de nye søkemulighetene. Omvendt søk er nyttig når du trenger den siste delen av en formalisert streng, for eksempel hele filnavnet i en URL. Og å søke fra en spesifisert posisjon hjelper i tilfeller der du trenger å søke i et kjent fragment, og ikke i hele linjen.