Strengfunktioner
Dette afsnit indeholder korte beskrivelser af de funktioner, der gælder for strengværdier.
Funktion | Virkemåde |
---|---|
convert | Konverterer en streng til en anden datatype eller konverterer en anden datatype til en streng. |
decode | Konverterer et kodet strengudtryk tilbage til den oprindelige streng. |
encode | Konverterer et strengudtryk til en tekststreng uden mening. |
hex | Oversætter en strengkonstant, der indeholder hexadecimale tegnkoder, til en ASCII-streng. |
in_set | Returnerer den booleske værdi true, hvis én streng udelukkende består af tegn fra en anden streng. |
is_number | Returnerer den booleske værdi true, hvis et strengudtryk evalueres til en flydende værdi eller en heltalsværdi. |
is_time | Returnerer den booleske værdi true, hvis et strengudtryk evalueres til en gyldig tidsværdi. |
len | Returnerer længden på en streng. |
Ændrer en strengs tegn til små eller store bogstaver. | |
Sletter blanktegn eller angivne tegn fra starten (ltrim), slutningen (rtrim) eller begge ender (trim) af en streng. | |
max | Returnerer den største værdi fra en liste over udtryk af enhver understøttet datatype. |
min | Returnerer den mindste værdi fra en liste over udtryk af enhver understøttet datatype. |
numbertostring | Konverterer et flydende udtryk eller et heltalsudtryk til et strengudtryk ved hjælp af en angiven maske. |
repeat | Opretter en streng ved at gentage en anden streng et angivet antal gange. |
strins | Indsætter én streng i en anden på en bestemt placering. |
strloc | Returnerer startpositionen for en understreng i en streng. Hvis understrengen ikke findes, returnerer funktionen nul. |
stringtotime | Konverterer et strengudtryk til et tidsudtryk ved hjælp af en angiven maske. |
substitute | Erstatter en understreng med en anden i en streng. |
substr | Returnerer en understreng ud fra en angivet startposition og længde. |
timetostring | Konverterer et tidsudtryk til et strengudtryk ved hjælp af en angiven maske. |
translate | Erstatter tegn i en streng. |
xmlencode | Konverterer et XML-felt til et strengudtryk. |
xmldecode | Konverterer et strengudtryk til XML. |
hex
Denne funktion oversætter en strengkonstant med hexadecimale tegnkoder til en ASCII-streng. Funktionen hex kan udtrykke ethvert tegn, men normalt bruger man den til tegn, der ikke har ASCII-repræsentationer, f.eks. tabulatorer.
hex (hexkoder)
hvor hexkoder er en strengkonstant, der indeholder hexkoden for et tegn eller en serie af tegn.hex ("616263")
translate
Denne funktion opretter en ny streng ved at erstatte tegnene i én streng med de tegn, du angiver. Funktionen translate er nyttig ved kodning af tegn.
translate (kildestreng, søgestreng,
erstatningsstreng)
hvor:Parameter | Beskrivelse |
---|---|
kildestreng | Den streng, der indeholder de tegn, som skal erstattes. |
søgestreng | Den tegnstreng i kildestreng, som skal erstattes. Skal have samme længde som erstatningsstreng. |
erstatningsstreng | Strengen med erstatningstegn. Skal have samme længde som søgestreng. |
Søg og erstat finder sted tegn for tegn. Hvis søgestrengen er "abc" og erstatningsstrengen er "def", oversætter funktionen "a" til "d", "b" til "e" og "c" til "f" i den nye streng.
kildestreng indeholder "*123-#44-!999"
søgestreng indeholder "#*!-"
erstatningsstreng indeholder "XYZ&"
giver funktionen følgende nye streng som output:Y123&X44&Z999
Bemærk, at indholdet af kildestrengen, søgestrengen og erstatningsstrengen ikke ændres.
translate (str, ".,", ",.")
lower, upper
lower (strengudtryk)
upper (strengudtryk)
hvor strengudtryk er det strengudtryk, der skal konverteres.in_set
Denne funktion sammenligner to strenge og returnerer den booleske værdi true, hvis alle tegn i den første streng er indeholdt et sted i den anden streng. Hvis den første streng indeholder mindst ét tegn, som ikke også er indeholdt i den anden streng, returnerer funktionen værdien false. Tegnene behøver ikke at stå i samme rækkefølge i begge strenge, og den anden streng kan også indeholde yderligere tegn.
in_set (delmængdestreng, overmængdestreng)
hvor:Parameter | Beskrivelse |
---|---|
delmængdestreng | Det strengudtryk, der kun indeholder delmængdetegnene. |
overmængdestreng | Det strengudtryk, som delmængdestreng skal sammenlignes med. |
in_set (navn, "abcdefghijklmnopqrstuvwxyz")
returnerer
funktionen true, hvis navn = "jim"
men
false, hvis
navn = "Fido"
eller navn = "a.b"
len
len (strengudtryk)
hvor strengudtryk er et strengudtryk, hvis længde skal beregnes.len ("Hamilton Burger")
repeat
repeat (strengudtryk, antal_gentagelser)
hvor:Parameter | Beskrivelse |
---|---|
strengudtryk | Det strengudtryk, der skal gentages. |
antal_gentagelser | Det antal gange, som strengudtryk skal gentages. |
repeat ("abcd", 5)
strloc
En understreng er en del af kildestrengen. Den kan være mindre end eller lig med længden af kildestrengen. Eksempelvis er God, morg, od morge og God morge alle understrenge af God morgen.
Brug funktionen strloc til at undersøge, hvor en bestemt understreng findes i en kildestreng. Denne funktion returnerer positionen af starttegnet for understrengen i kildestrengen.
Hvis understrengen findes mere end én gang i kildestrengen, returnerer funktionen startpositionen af den første forekomst. Hvis understrengen ikke findes, eller hvis den er længere end kildestrengen, returnerer funktionen nul.
strloc (kildestreng, understreng)
hvor:Parameter | Beskrivelse |
---|---|
kildestreng | Den streng, hvor der skal søges efter understrengen. |
understreng | Den streng, der skal søges efter. |
strloc ("God morgen", "morgen")
substr
Denne funktion udtrækker en understreng fra en kildestreng, hvorved der oprettes en ny streng. Du angiver kildestrengen og den tegnposition, hvor udtrækket starter. Desuden kan du vælge at angive det antal tegn, der skal udtrækkes. Hvis du ikke angiver disse oplysninger, stopper udtrækket sidst i kildestrengen.
substr (kildestreng, startpos {, længde})
hvor:Parameter | Beskrivelse |
---|---|
kildestreng | Kildestrengen. |
startpos | Den tegnposition, hvor udtrækket starter. |
længde | Det antal tegn, der skal udtrækkes (f.eks. længden af den udtrukne streng). |
substr ("God morgen!", 6, 7)
Denne funktion kan også udtrække strenge med længden nul (strenge uden tegn mellem anførselstegnene) på en position, der er én større end længden af en streng. Dette er nyttigt ved algoritmer, som har strenge med længden nul som kantbetingelse. Du kan udtrække tegn fra position 1 til og med sidste tegn i strengen +1;, så position 1 og længden af strengen +1 er kantbetingelser.
Der opstår runtimefejl, hvis:
- Din startposition er mindre end 1 eller større end kildestrengens længde + 1.
- Den angivne længde vil frembringe en understreng, som er længere end de tilbageværende tegn i kildestrengen (dvs. startpos + længde > len (kildestreng) + 1).
strins
strins (kildestreng, indsættelsesstreng, startpos)
hvor:Parameter | Beskrivelse |
---|---|
kildestreng | Den streng, der kombineres med indsættelsesstreng for at frembringe en ny streng. |
indsættelsesstreng | Den streng, der kombineres med kildestreng for at frembringe en ny streng. |
startpos | Den position i kildestreng, hvor indsættelsen starter. Værdien går fra 1 til længden af kildestreng + 1. Der opstår en runtimefejl, hvis du angiver en værdi, der er mindre end 1 eller større end kildestreng + 1. |
indsættelsesstreng = "Jan Olsen,"
og
at
kildestreng = "God morgen, sikke en dejlig dag."
strins (kildestreng, indsættelsesstreng, 13)
God morgen, Jan Olsen, sikke en dejlig dag.
substitute
substitute (kildestreng, uønsket_streng,
erstatningsstreng)
hvor:Parameter | Beskrivelse |
---|---|
kildestreng | Den streng, der indeholder uønsket_streng. |
uønsket_streng | En understreng af kildestreng. |
erstatningsstreng | Den streng, der skal erstatte uønsket_streng for at oprette en ny streng. |
substitute (Teststreng, "abc", "wxyz")
Teststreng = "abcdabcd"
returnerer
funktionen følgende nye streng:wxyzdwxyzd
Bemærk, at indholdet af kildestrengen, den uønskede streng og erstatningsstrengen ikke ændres.ltrim, rtrim og trim
Disse funktioner opretter en ny streng ved at kopiere en eksisterende kildestreng og slette blanktegn eller angivne tegn fra starten (ltrim), slutningen (rtrim) eller begge ender (trim) i den nye streng. I alle tilfælde forbliver kildestrengen uændret.
ltrim (strengudtryk{, trim_tegn}parameter)
rtrim (strengudtryk{, trim_tegn}parameter)
trim (strengudtryk{, trim_tegn}parameter)
hvor:Parameter | Beskrivelse |
---|---|
strengudtryk | Det kildestrengudtryk, der skal kopieres. |
trim_tegn | En valgfri parameter, der angiver de tegn, som skal slettes fra den nye streng. Hvis du ikke angiver denne parameter, slettes blanktegn. Afhængig af funktionen starter sletningen enten i starten, slutningen eller begge ender af den nye streng og fortsætter, indtil der findes et tegn, som ikke er angivet i trim_tegn (eller et ikke-tomt tegn). |
Efternavn = "Smith"
og
den returnerede nye streng er
"Smith"
ltrim (Efternavn)
Status = "ÅbenXY&Z&&&&"
, er
den returnerede nye streng
"ÅbenXY&Z"
rtrim (Status, "&")
rtrim (Kontonavn, "0123456789")
is_number
Denne funktion bestemmer, om det angivne strengudtryk evalueres til en flydende værdi eller en heltalsværdi. Funktionen is_number returnerer den booleske værdi true, hvis hele strengen (ikke kun en understreng) evalueres til en flydende værdi eller en heltalsværdi. Ellers returneres false.
is_number (udtryk)
hvor udtryk er et strengudtryk.is_number ("123,4")
is_number ("nej")
is_number ("abc63j")
is_time
Denne funktion bestemmer, om det angivne strengudtryk evalueres til en tidsværdi af et angivet format. Funktionen is_time returnerer den booleske værdi true, hvis hele strengen (ikke kun en understreng) evalueres til et klokkeslæt, der er formateret som angivet. Ellers returnerer funktionen værdien false.
is_time (strengudtryk, dato_klokkeslæt_maske)
hvor:Parameter | Beskrivelse |
---|---|
strengudtryk | Et strengudtryk. |
dato_klokkeslæt_maske | En dato/klokkeslæt-maske, der angiver det format, som strengudtryk skal bruge, for at is_time skal returnere værdien true. |
is_time ("12nov1995", "dd-mm-yyyy")
is_time ("12-11-1995", "dd-mm-yyyy")
timetostring
timetostring (tidsudtryk, dato_klokkeslæt_maske)
hvor:Parameter | Beskrivelse |
---|---|
tidsudtryk | Et udtryk af typen time. |
dato_klokkeslæt_maske | En dato/klokkeslæt-maske, der bestemmer formatet af outputtet fra funktionen timetostring. |
timetostring (systemtime(), "dd-mm-yyyy hh:tt:ss")
01-07-1985 22:45:06
Se oplysninger om funktionen systemtime().
stringtotime
stringtotime (strengudtryk, dato_klokkeslæt_maske)
hvor:Parameter | Beskrivelse |
---|---|
strengudtryk | Et udtryk af typen string. |
dato_klokkeslæt_maske | En dato/klokkeslæt-maske, der angiver det tidsformat, som skal bruges til konverteringen. |
stringtotime (HostTime, "mon. dd, yyyy hh:tt:ss am")
Værtstid = "1. jul. 1985 22:45:06"
, bliver outputtet tidsværdien, som svarer til 1. juli 1985 6 sekunder over 22:45.encode, decode
Disse funktioner konverterer strenge til strenge uden mening med det formål at skjule indholdet. Både funktionen encode og funktionen decode skal være i samme arbejdsgang.
encode (strengudtryk)
decode (strengudtryk)
hvor:Parameter | Beskrivelse |
---|---|
strengudtryk | Et udtryk af typen string. Strengen kan ikke være en konstant. |