std.tekst
std.tekst er verktøykassen for tekst: søke og sjekke, dele og sette sammen, trimme blanktegn, endre mellom store og små bokstaver, og konvertere til og fra tall.
std.tekst er verktøykassen for alt som har med tekst å gjøre. Her finner du funksjonene du bruker oftest når du behandler det brukeren skriver, bygger tekst for visning, eller tolker data som kommer som tekst: søke og sjekke, dele og sette sammen, trimme bort blanktegn, endre mellom store og små bokstaver, og konvertere til og fra tall.
Funksjonene er små og forutsigbare — hver av dem gjør én tydelig ting og gir et nytt resultat i stedet for å endre teksten du sendte inn. Det gjør dem trygge å sette sammen: du kan trimme, dele og konvertere i en kjede uten bivirkninger. Importer modulen med bruk std.tekst som t og kall funksjonene med t.-prefiks.
Når bruker du den
Bruk std.tekst nesten hver gang du behandler brukerinput eller bygger tekst for visning: sjekke om noe starter eller slutter på et mønster, dele opp en linje, sette sammen deler, eller rydde vekk blanktegn. Fordi hver funksjon gir et nytt resultat i stedet for å endre originalen, kan du trygt kjede dem sammen.
Slik kommer du i gang
bruk std.tekst som t
funksjon start() -> heiltall {
la rå = " Ada Lovelace "
la navn = t.trim(rå) // "Ada Lovelace"
hvis t.starter_med(navn, "Ada") {
skriv(t.til_store_bokstavar(navn)) // "ADA LOVELACE"
}
la deler = t.splitt(navn, " ") // ["Ada", "Lovelace"]
skriv(deler[0]) // "Ada"
returner 0
}Legg merke til at hver funksjon gir et nytt resultat: trim endrer ikke rå, men gir en ny tekst. Slik kan du bygge en kjede av små, forutsigbare steg.
Funksjonene
Funksjonene faller i noen naturlige familier. Noen sjekker noe om teksten og gir sann/usann (starter_med, slutter_med, inneholder, er_tom, er_heltall). Andre deler og setter sammen (splitt, teikn, sett_saman, del_av). En tredje gruppe endrer teksten og gir en ny (trim, erstatt, til_store_bokstavar, snu, gjenta). Så finnes det justering for pen utskrift (fyll_venstre, fyll_høgre, senter, nullfyll) og konvertering til og fra tall (tall_til_tekst, til_heltall, tegn_kode).
hilsen(navn: tekst) -> tekst— Lager en enkel hilsen basert på navnet.rop(melding: tekst) -> tekst— Gjør meldingen om til en «ropt» variant.omgitt_av_klammer(tekstverdi: tekst) -> tekst— Omgir teksten med klammeparenteser.ja_nei(verdi: bool) -> tekst— Gir «ja» eller «nei» ut fra en boolsk verdi.tall_til_tekst(x: heltall) -> tekst— Gjør et heltall om til tekst.bool_til_tekst(x: bool) -> tekst— Gjør en boolsk verdi om til tekst.starter_med(tekstverdi: tekst, prefiks: tekst) -> bool— Sann hvis teksten begynner med prefikset.slutter_med(tekstverdi: tekst, suffiks: tekst) -> bool— Sann hvis teksten slutter med suffikset.inneholder(tekstverdi, deltekst: tekst) -> bool— Sann hvis deltekstet finnes et sted i teksten.trim(tekstverdi: tekst) -> tekst— Fjerner blanktegn i starten og slutten, og gir en ny tekst.splitt(tekstverdi: tekst, skilletegn: tekst) -> liste_tekst— Deler teksten på hvert skilletegn og gir en liste med delene.teikn(tekstverdi: tekst) -> liste_tekst— Gir en liste med hvert enkelt tegn i teksten.sett_saman(deler: liste_tekst, lim: tekst) -> tekst— Setter sammen en liste av tekster til én, medlimmellom hver del.del_av(tekstverdi: tekst, start: heltall, slutt: heltall) -> tekst— Henter tekstbiten fra og medstarttil (men ikke med)slutt. Indekser starter på 0.finn(tekstverdi: tekst, deltekst: tekst) -> heltall— Gir indeksen der deltekstet først står, eller -1 hvis det ikke finnes.erstatt(tekstverdi: tekst, gammel: tekst, ny: tekst) -> tekst— Bytter alle forekomster avgammelmedny.til_store_bokstavar(tekstverdi: tekst) -> tekst— Gir teksten med alle bokstaver som STORE.til_små_bokstavar(tekstverdi: tekst) -> tekst— Gir teksten med alle bokstaver som små.tegn_kode(tegn: tekst) -> heltall— Gir tegnkoden (Unicode-kodepunktet) for et enkelt tegn.lengde(tekstverdi: tekst) -> heltall— Antall tegn i teksten.gjenta(tekstverdi: tekst, n: heltall) -> tekst— Gjentar tekstennganger etter hverandre.tell_forekomster(tekstverdi: tekst, deltekst: tekst) -> heltall— Teller hvor mange ganger deltekstet forekommer.substring(tekstverdi: tekst, start: heltall, slutt: heltall) -> tekst— Henter tekstbiten mellomstartogslutt(samme somdel_av).er_tom(tekstverdi: tekst) -> bool— Sann hvis teksten er tom.til_heltall(tekstverdi: tekst) -> heltall— Tolker teksten som et heltall.fyll_høgre(tekstverdi: tekst, breidd: heltall, fylltegn: tekst) -> tekst— Fyller teksten på høyre side medfylltegnopp tilbreidd.fyll_venstre(tekstverdi: tekst, breidd: heltall, fylltegn: tekst) -> tekst— Fyller teksten på venstre side opp tilbreidd.senter(tekstverdi: tekst, breidd: heltall, fylltegn: tekst) -> tekst— Sentrerer teksten innenforbreiddved å fylle på begge sider.nullfyll(verdi: heltall, breidd: heltall) -> tekst— Formaterer et tall med ledende nuller opp tilbreidd.fjern_prefiks(tekstverdi: tekst, prefiks: tekst) -> tekst— Fjerner prefikset hvis teksten begynner med det, ellers uendret.fjern_suffiks(tekstverdi: tekst, suffiks: tekst) -> tekst— Fjerner suffikset hvis teksten slutter med det, ellers uendret.snu(tekstverdi: tekst) -> tekst— Gir teksten baklengs.er_heltall(tekstverdi: tekst) -> bool— Sann hvis hele teksten er et gyldig heltall.
Godt å vite
- Indekser starter på 0, og
del_av/substringtar med tegnet på startindeksen, men ikke på sluttindeksen. finngir-1når deltekstet ikke finnes — sjekk på det før du bruker resultatet som en indeks.- Skal du bygge en lang tekst i en løkke, samle delene i en liste og bruk
sett_samantil slutt; det er ryddigere enn å legge til bit for bit.
std.tekst er én av modulene i standardbiblioteket. Alt følger med kjøretiden — ingen installasjon, ingen eksterne avhengigheter. Se også Dokumentasjon for språket og kjøretiden.
Les også
- std.jsonstd.json lar programmet ditt snakke JSON: parse gjør en JSON-tekst om til en ordbok du kan hente verdier fra trygt, og stringify går den andre veien.
- std.filstd.fil er det enkleste laget mellom programmet ditt og filsystemet: sjekk om en fil finnes, les og skriv tekst, eller les og skriv rå bytes — med disk-kapabilitet.
- std.datostd.dato regner med kalenderdatoer som heltall — en ordinal som teller dager. Uten tidssone og klokkeslett slipper du feilene som ellers kommer av sommertid og soner.