Vágás ( angol. trim - trim, trim; egyes nyelveken - szalag ) - karakterlánc funkció , amely eltávolítja a kezdő és a záró szóközöket .
Például Pythonban :
'Ez egy teszt' . csík ()egy karakterláncot ad vissza:
'Ez egy teszt'A függvény legnépszerűbb változatai trimcsak a sorok elején és végén távolítják el a szóközöket. Ezeket általában ltrimés rtrimrendre, illetve Python nyelv esetén - lstripés rstrip. A C# a TrimStartés -t használja TrimEnd, míg a Common Lisp string-left-trim a és -t használja string-right-trim. A Pascalban és a Java -ban nincsenek beépített opciók , bár a Delphi rendelkezik a TrimLeftés TrimRight. [egy]
Számos függvény trimrendelkezik opcionális paraméterrel, amely megadja az eltávolítandó karakterek listáját. Például a PHP és a Python engedélyezi az ilyen opcionális paramétert, míg a Pascal és a Java nem. string-trimA Common Lisp nyelvi függvényhez paraméterre van szükség ( karaktertáska ). A C++ nyelven a Boost könyvtár a területi beállításnak megfelelően határozza meg a szóköz karaktereket, és lehetőséget kínál egy predikátum paraméterre , amellyel kiválaszthatja, hogy mely karaktereket távolítsa el.
Bizonyos esetekben trimbizonyos eredményt ad vissza, ha a törlési művelet után már nem maradt karakter. Például az Apache Jakarta Project StringUtils- nek van egy függvénye stripToNull, amely nullegy üres karakterláncot ad vissza.
A karakterláncok eltávolításának alternatívája a szóközök normalizálása, ahol a karakterlánc végén lévő szóközök eltávolítása mellett a karakterláncon belüli szóközök sorozatait is egyetlen szóközzel helyettesítik. A szóközök normalizálását Trim()táblázatkezelő alkalmazások (beleértve az Excel , Calc , Gnumeric és Google Docs ), valamint normalize-space()az XSLT és XPath függvények végzik .
Míg a legtöbb algoritmus új (csonka karakterláncot) ad vissza, egyesek az adatstruktúra átalakításával a helyükön módosítják az eredeti karakterláncot. Nevezetesen, a Boost könyvtár lehetővé teszi a „helyi” csonkolást vagy a karakterlánc csonkolt másolatának visszaadását.
A szóköznek nevezett karakterek programozási nyelvek és megvalósításaik között változnak. Például a C nyelvben a szóköz, a tabulátor, a soremelés és a kocsivissza karaktereket hagyományosan ilyenként kezelik, míg a Unicode -ot támogató nyelvek általában minden Unicode szóközt tartalmaznak. Egyes megvalósítások ASCII vezérlőkaraktereket (nem nyomtatható karaktereket) is tartalmaznak a szóközök mellett.
A Java metódusa trimaz escape kódokat szóköznek számítja, míg a isWhitespace()[2] metódus felismeri az unicode szóköz karaktereket .
Megvalósítás néhány programozási nyelven:
Használati példa | Programozási nyelv |
---|---|
String .Trim([ karakter ]) | C# , Visual Basic .NET , Windows PowerShell |
std.string.strip( string ) | D |
(string-trim '(#\Space #\Tab #\Newline) string ) | Közönséges Lisp |
(string-trim string ) | Rendszer |
string.trim () | Java , JavaScript |
Vágás ( karakterlánc ) | Pascal [3] |
string.strip () | Piton |
strip( string [, opció , karakter ]) | REXX |
string: strip( string [, option , char ]) | Erlang |
string .csík | rubin |
trim( $string ) | PHP |
Vágás ( karakterlánc ) | QBasic , Visual Basic , Delphi |
string trim $string | tcl |
ALLTRIM ( karakterlánc ) | FoxPro |
A beépített funkció nélküli nyelveken trim()az összehasonlítható funkcionalitás elérése érdekében gyakran írnak olyan függvényeket, amelyek ugyanazt a feladatot látják el.
Például az awk -ban használhatunk reguláris kifejezéseket ehhez :
ltrim(v) = gsub(/^[ \t\r]+/, "", v) rtrim(v) = gsub(/[ \t\r]+$/, "", v) trim(v) = ltrim(v); rtrim(v)vagy:
function ltrim(s) { sub(/^[ \t\r]+/, "", s); vissza s} function rtrim(s) { sub(/[ \t\r]+$/, "", s); vissza s} function trim(s) { return rtrim(ltrim(s)); }A JavaScript az ECMAScript 5 óta képes használni a trim()[4] -et , ezt megelőzően a String objektumokat ki lehetett bővíteni egy prototípussal :
String . prototípus . trim = function () { return this . csere ( /^\s+|\s+$/g , "" ); }