Trim ( eng. trim - trim, trim; på nogle sprog - strip ) - strengfunktion , der fjerner førende og efterfølgende mellemrum .
For eksempel i Python :
'Dette er en test' . strimmel ()returnerer en streng:
'Dette er en test'De mest populære varianter af funktionen trimfjerner kun mellemrum i begyndelsen og slutningen af linjer. De er normalt navngivet ltrimog rtrimhenholdsvis, eller i tilfælde af Python-sproget , - lstripog rstrip. C# bruger TrimStartog TrimEnd, mens Common Lisp string-left-trim bruger og string-right-trim. Der er ingen indbyggede muligheder i Pascal og Java , selvom Delphi har TrimLeftog TrimRight. [en]
Mange funktioner trimhar en valgfri parameter til at angive en liste over tegn, der skal fjernes. For eksempel tillader PHP og Python en sådan valgfri parameter, mens Pascal og Java ikke gør det. string-trimEn Common Lisp-sprogfunktion kræver en parameter (kaldet character-bag ). I C++ definerer Boost-biblioteket mellemrumstegn i henhold til lokaliteten og tilbyder også muligheder for en prædikatparameter til at vælge, hvilke tegn der skal fjernes.
I nogle tilfælde trimreturnerer det et bestemt resultat, hvis der ikke er nogen tegn tilbage efter sletningen. For eksempel har StringUtils fra Apache Jakarta Project en funktion kaldet stripToNull, som returnerer nullen tom streng i stedet.
Et alternativ til at fjerne en streng er normalisering af hvide mellemrum, hvor ud over at fjerne mellemrumstegn i enderne af en streng, også erstattes eventuelle sekvenser af mellemrum i en streng med et enkelt mellemrum. Whitespace-normalisering udføres Trim()af regnearksapplikationer (herunder Excel , Calc , Gnumeric og Google Docs ), og en funktion normalize-space()i XSLT og XPath .
Mens de fleste algoritmer returnerer en ny (trunkeret streng), ændrer nogle den originale streng på stedet ved at transformere datastrukturen. Navnlig tillader Boost -biblioteket enten "in-place" trunkering eller returnering af en trunkeret kopi af strengen.
Tegnene, der omtales som mellemrum, varierer mellem programmeringssprog og deres implementeringer. For eksempel i C behandles mellemrum, tabulator, linjeskift og vognretur-tegn traditionelt som sådan, mens Unicode -understøttende sprog generelt inkluderer alle Unicode-mellemrumstegn her. Nogle implementeringer inkluderer også ASCII -kontroltegn (tegn, der ikke kan udskrives) ud over blanktegn.
Metoden trimi Java tæller escape-koder som mellemrum, mens metoden isWhitespace()[2] genkender unicode- mellemrumstegn .
Implementering i nogle programmeringssprog:
Eksempel på brug | Programmeringssprog |
---|---|
String .Trim([ tegn ]) | C# , Visual Basic .NET , Windows PowerShell |
std.string.strip( string ) | D |
(string-trim '(#\Space #\Tab #\Newline) string ) | Almindelig Lisp |
(string-trim streng ) | Ordning |
string.trim () | Java , JavaScript |
Trim ( streng ) | Pascal [3] |
string.strip () | Python |
strip ( streng [, option , char ]) | REXX |
string: strip( string [, option , char ]) | Erlang |
snor .strimmel | rubin |
trim( $string ) | PHP |
Trim ( streng ) | QBasic , Visual Basic , Delphi |
string trim $string | tcl |
ALLTRIM( streng ) | FoxPro |
På sprog uden indbygget funktion trim()er det for at opnå sammenlignelig funktionalitet almindeligt at skrive funktioner, der udfører den samme opgave.
For eksempel, i awk kan du bruge regulære udtryk til dette :
ltrim(v) = gsub(/^[ \t\r]+/, "", v) rtrim(v) = gsub(/[ \t\r]+$/, "", v) trim(v) = ltrim(v); rtrim(v)eller:
funktion ltrim(s) { sub(/^[ \t\r]+/, "", s); vender tilbage} funktion rtrim(s) { sub(/[ \t\r]+$/, "", s); vender tilbage} function trim(s) { return rtrim(ltrim(s)); }JavaScript har været i stand til at bruge trim()[4] siden ECMAScript 5, før det kunne String-objekter udvides med en prototype :
String . prototype . trim = funktion () { returner dette . erstatte ( /^\s+|\s+$/g , "" ); }