Las funciones de cadena se utilizan en los lenguajes de programación de computadoras para manipular una cadena o consultar información sobre una cadena (algunos hacen ambas cosas).
La mayoría de los lenguajes de programación que tienen un tipo de datos de cadena tendrán algunas funciones de cadena, aunque puede haber otras formas de bajo nivel dentro de cada lenguaje para manejar cadenas directamente. En los lenguajes orientados a objetos, las funciones de cadena a menudo se implementan como propiedades y métodos de objetos de cadena. En los lenguajes funcionales y basados en listas, una cadena se representa como una lista (de códigos de caracteres), por lo tanto, todos los procedimientos de manipulación de listas podrían considerarse funciones de cadena. Sin embargo, estos lenguajes también pueden implementar un subconjunto de funciones explícitas específicas de cadenas.
Para las funciones que manipulan cadenas, los lenguajes modernos orientados a objetos, como C # y Java, tienen cadenas inmutables y devuelven una copia (en la memoria dinámica recién asignada), mientras que otros, como C, manipulan la cadena original a menos que el programador copie los datos en una nueva cadena. Consulte, por ejemplo, Concatenación a continuación.
El ejemplo más básico de una función de cadena es la length(string)
función. Esta función devuelve la longitud de un literal de cadena .
- por ejemplo
length("hello world")
, devolvería 11.
Otros lenguajes pueden tener funciones de cadena con una sintaxis, parámetros o resultados similares o exactamente iguales. Por ejemplo, en muchos idiomas, la función de longitud generalmente se representa como len (cadena) . La siguiente lista de funciones comunes tiene como objetivo ayudar a limitar esta confusión.
Funciones de cadena comunes (referencia en varios idiomas)
Las funciones de cadena comunes a muchos idiomas se enumeran a continuación, incluidos los diferentes nombres utilizados. La siguiente lista de funciones comunes tiene como objetivo ayudar a los programadores a encontrar la función equivalente en un lenguaje. Tenga en cuenta que la concatenación de cadenas y las expresiones regulares se manejan en páginas separadas. Las declaraciones en guillemets («…») son opcionales.
CharAt
Definición | charAt(string,integer) devuelve el carácter. |
---|---|
Descripción | Devuelve el carácter en el índice de la cadena. |
Equivalente | Consulte la subcadena de 1 carácter de longitud. |
Formato | Idiomas | Índice base |
---|---|---|
string[i] | ALGOL 68 , APL , Julia , Pascal , Object Pascal ( Delphi ), Seed7 | 1 |
string[i] | C , C ++ , C # , Cobra , D , FreeBASIC , Go , Python , [1] PHP , Ruby , [1] Windows PowerShell , JavaScript , Ya, APL | 0 |
string{i} | PHP (obsoleto en 5.3) | 0 |
string(i) | Ada | ≥1 |
Mid(string,i,1) | VB | 1 |
MID$(string,i,1) | BÁSICO | 1 |
string.Chars(i) | VB.NET | 0 |
string(i:i) | Fortran | 1 |
string.charAt(i) | Java , JavaScript | 0 |
string.[i] | OCaml , F # | 0 |
string.chars().nth(i) | Óxido [2] | 0 |
string[i,1] | Elija Básico | 1 |
String.sub (string, i) | ML estándar | 0 |
string !! i | Haskell | 0 |
(string-ref string i) | Esquema | 0 |
(char string i) | Lisp común | 0 |
(elt string i) | ISLISP | 0 |
(get string i) | Clojure | 0 |
substr(string, i, 1) | Perl 5 [1] | 0 |
substr(string, i, 1) string.substr(i, 1) | Raku [3] | 0 |
substr(string, i, 1) | PL / I | 1 |
string.at(i) | C ++ (STL) (con comprobación de límites) | 0 |
lists:nth(i, string) | Erlang | 1 |
[string characterAtIndex:i] | Objective-C ( NSString * solo) | 0 |
string.sub(string, i, i) | Lua [1] | 1 |
string at: i | Smalltalk (con comprobación de límites) | 1 |
string index string i | Tcl | 0 |
StringTake[string, {i}] | Mathematica , Wolfram Language [1] | 1 |
string@i | Eiffel | 1 |
string (i:1) | COBOL | 1 |
i⌷string | APL | 0 o 1 |
{Ejemplo en Pascal} var MyStr : string = 'Hello, World' ; MyChar : Char ; comenzar MyChar : = MyStr [ 2 ] ; // 'e'
# Ejemplo en ALGOL 68 #"Hola, mundo" [2]; // 'e'
// Ejemplo en C #include // para printfchar MyStr [] = "Hola, mundo" ; printf ( "% c" , * ( MyStr + 1 )); // 'e' printf ( "% c" , * ( MyStr + 7 )); // 'W' printf ( "% c" , MyStr [ 11 ]); // 'd' printf ( "% s" , MyStr ); // 'Hola, mundo' printf ( "% s" , "Hola (2), mundo (2)" ); // 'Hola (2), Mundo (2)'
// Ejemplo en C ++ #include // para "cout"#include // para el tipo de datos "string"usando el espacio de nombres std ; char MyStr1 [] = "Hola (1), Mundo (1)" ; string MyStr2 = "Hola (2), Mundo (2)" ; cout << "Hola (3), Mundo (3)" ; // 'Hola (3), Mundo (3)' cout << MyStr2 [ 6 ]; // '2' cout << MyStr1 . substr ( 5 , 3 ); // '(1)'
// Ejemplo en C # y Ya "Hello, World" [ 2 ]; // 'l'
# Ejemplo en Perl 5 substr ( "Hola, mundo" , 1 , 1 ); # 'e'
# Ejemplos en Python "Hola, mundo" [ 2 ] # 'l' "Hola, mundo" [ - 3 ] # 'r'
# Ejemplo en Raku "Hello, World" . substr ( 1 , 1 ); # 'e'
'Ejemplo en Visual Basic Mid ( "Hola, mundo" , 2 , 1 )
'Ejemplo en Visual Basic .NET "Hello, World" . Caracteres ( 2 ) '"l" c
"Ejemplo en Smalltalk" 'Hola, mundo' en: 2 . "$ e"
// Ejemplo en Rust "Hello, World" . caracteres (). nth ( 2 ); // Algunos ('l')
Comparar (resultado entero)
Definición | compare(string1,string2) devuelve un entero. |
---|---|
Descripción | Compara dos cadenas entre sí. Si son equivalentes, se devuelve un cero. De lo contrario, la mayoría de estas rutinas devolverán un resultado positivo o negativo correspondiente a si la cadena 1 es lexicográficamente mayor o menor que, respectivamente, la cadena 2 . Las excepciones son las rutinas Scheme y Rexx que devuelven el índice de la primera falta de coincidencia, y Smalltalk que responde a un código de comparación que indica cómo el receptor clasifica en relación con el parámetro de cadena. |
Formato | Idiomas |
---|---|
IF string1<string2 THEN -1 ELSE ABS (string1>string2) FI | ALGOL 68 |
cmp(string1, string2) | Python 2 |
(string1 > string2) - (string1 < string2) | Pitón |
strcmp(string1, string2) | C , PHP |
std.string.cmp(string1, string2) | D |
StrComp(string1, string2) | VB , Objeto Pascal ( Delphi ) |
string1 cmp string2 | Perl , Raku |
string1 compare: string2 | Smalltalk ( Squeak , Pharo ) |
string1 <=> string2 | Ruby , C ++ (STL, C ++ 20 ) [4] |
string1.compare(string2) | C ++ (STL), Swift (Fundación) |
compare(string1, string2) | Rexx , Semilla7 |
CompareStr(string1, string2) | Pascal , Objeto Pascal ( Delphi ) |
string1.compareTo(string2) | Cobra , Java |
string1.CompareTo(string2) | VB .NET , C # , F # |
(compare string1 string2) | Clojure |
(string= string1 string2) | Lisp común |
(string-compare string1 string2 p< p= p>) | Esquema (SRFI 13) |
(string= string1 string2) | ISLISP |
compare string1 string2 | OCaml |
String.compare (string1, string2) | ML estándar [5] |
compare string1 string2 | Haskell [6] |
[string]::Compare(string1, string2) | Windows PowerShell |
[string1 compare:string2] | Objective-C ( NSString * solo) |
LLT(string1,string2) | Fortran [7] |
string1.localeCompare(string2) | JavaScript |
bytes.Compare([]byte(string1), []byte(string2)) | Ir |
string compare ?-nocase? ?-length int? string1 string2 | Tcl |
compare(string1,string2,count) | PL / I [8] |
string1.cmp(string2) | Óxido [9] |
# Ejemplo en Perl 5 "hola" cmp "mundo" ; # devuelve -1
# Ejemplo en Python cmp ( "hola" , "mundo" ) # devuelve -1
# Ejemplos en Raku "hola" cmp "mundo" ; # devuelve Less "world" cmp "hola" ; # devuelve Más "hola" cmp "hola" ; # devuelve Igual
/ ** Ejemplo en Rexx * / compare ( "hola" , "mundo" ) / * devuelve el índice de discrepancia: 1 * /
; Ejemplo en Scheme ( use-modules ( srfi srfi-13 )) ; devuelve el índice de discrepancia: 0 ( cadena-comparar "hola" "mundo" valores valores valores )
Comparar (resultado booleano basado en operadores relacionales)
Definición | string1 OP string2 O devuelve booleano.(compare string1 string2) |
---|---|
Descripción | Compara lexicográficamente dos cadenas usando un operador o función relacional. Se devolvió el resultado booleano. |
Formato | Idiomas |
---|---|
string1 OP string2 , donde OP puede ser cualquiera de =, <>, <, >, <= y>= | Pascal , Object Pascal ( Delphi ), OCaml , Seed7 , ML estándar , BASIC , VB , VB .NET , F # |
string1 OP string2 , donde OP puede ser cualquiera de =, /=, ≠, <, >, <=, ≤ y ≥ ; También: EQ, NE, LT, LE, GE yGT | ALGOL 68 |
(stringOP? string1 string2) , donde OP puede ser cualquiera de =, -ci=, <, -ci<, >, -ci>, <=, -ci<=, >= y -ci>= (los operadores que comienzan con ' -ci ' no distinguen entre mayúsculas y minúsculas) | Esquema |
(stringOP string1 string2) , donde OP puede ser cualquiera de =, -ci=, <>, -ci<>, <, -ci<, >, -ci>, <=, -ci<=, >= y -ci>= (los operadores que comienzan con ' -ci ' no distinguen entre mayúsculas y minúsculas) | Esquema (SRFI 13) |
(stringOP string1 string2) , donde OP puede ser cualquiera de =, -equal, /=, -not-equal, <, -lessp, >, -greaterp, <=, -not-greaterp, >= y -not-lessp (los operadores verbales no distinguen entre mayúsculas y minúsculas) | Lisp común |
(stringOP string1 string2) , donde OP puede ser cualquiera de =, /=, <, >, <=, y>= | ISLISP |
string1 OP string2 , donde OP puede ser cualquiera de =, \=, <, >, <= y>= | Rexx |
string1 OP string2 , donde OP puede ser cualquiera de =, ¬=, <, >, <=, >=, ¬< y¬> | PL / I |
string1 OP string2 , donde OP puede ser cualquiera de =, /=, <, >, <= y>= | Ada |
string1 OP string2 , donde OP puede ser cualquiera de ==, /=, <, >, =< y>= | Erlang |
string1 OP string2 , donde OP puede ser cualquiera de ==, /=, <, >, <= y>= | Haskell |
string1 OP string2 , donde OP puede ser cualquiera de yeq, ne, lt, gt, le ge | Perl , Raku |
string1 OP string2 , donde OP puede ser cualquiera de ==, !=, <, >, <= y>= | C ++ (STL), C # , D , Go , JavaScript , Python , PHP , Ruby , Rust , [10] Swift , Ya |
string1 OP string2 , donde OP puede ser cualquiera de -eq, -ceq, -ne, -cne, -lt, -clt, -gt, -cgt, -le, -cle, -ge, y -cge (los operadores que comienzan con ' c ' distinguen entre mayúsculas y minúsculas) | Windows PowerShell |
string1 OP string2 , donde OP puede ser cualquiera de ==, ~=, <, >, <= y>= | Lua |
string1 OP string2 , donde OP puede ser cualquiera de =, ~=, <, >, <= y>= | Charla |
string1 OP string2 , Donde OP puede ser cualquiera de ==, /=, <, >, <= y >=; Also: .EQ., .NE., .LT., .LE., .GT. y.GE. | Fortran . [11] |
string1 OP string2 donde OP puede ser cualquiera de los =, <>, <, >, <=, >= equivalentes así como redactados | COBOL |
string1 OP string2 donde OP puede ser cualquiera de ==, <>, <, >, <= y>= | Cobra |
string1 OP string2 está disponible en la sintaxis, pero significa la comparación de los punteros que apuntan a las cadenas, no al contenido de la cadena. Utilice la función Comparar (resultado entero). | C , Java |
string1.METHOD(string2) donde METHOD es cualquiera de eq , ne , gt , lt , ge ,le | Óxido [10] |
% Ejemplo en Erlang "hola" > "mundo" . % devuelve falso
# Ejemplo en Raku "art" gt "pintura" ; # Devuelve false "arte" LT "pintura" ; # devuelve True
# Ejemplo en Windows PowerShell "hello" -gt "world" # devuelve falso
;; Ejemplo en Common Lisp ( cadena> "arte" "pintura" ) ; devuelve nil ( cadena < "arte" "pintura" ) ; devuelve no nulo
Concatenación
Definición | concatenate(string1,string2) devuelve cadena. |
---|---|
Descripción | Concatena (une) dos cadenas entre sí, devolviendo la cadena combinada. Tenga en cuenta que algunos lenguajes como C tienen cadenas mutables, por lo que realmente la segunda cadena se agrega a la primera cadena y se devuelve la cadena mutada. |
Formato | Idiomas |
---|---|
string1 & string2 | Ada , FreeBASIC , Seed7 , BASIC , VB , VB .NET , COBOL (solo entre literales) |
strcat(string1, string2) | C , C ++ ( solo) [12]char * |
string1 . string2 | Perl , PHP |
string1 + string2 | ALGOL 68 , C ++ (STL), C # , Cobra , FreeBASIC , Go , Pascal , Object Pascal ( Delphi ), Java , JavaScript , Windows PowerShell , Python , Ruby , Rust , [13] F # , Swift , Turing , VB , Ya |
string1 ~ string2 | D , Raku |
(string-append string1 string2) | Esquema , ISLISP |
(concatenate 'string string1 string2) | Lisp común |
(str string1 string2) | Clojure |
string1 || string2 | Rexx , SQL , PL / I |
string1 // string2 | Fortran |
string1 ++ string2 | Erlang , Haskell |
string1 ^ string2 | OCaml , ML estándar , F # |
[string1 stringByAppendingString:string2] | Objective-C ( NSString * solo) |
string1 .. string2 | Lua |
string1 , string2 | Smalltalk , APL |
string1 string2 | SNOBOL |
string1string2 | Cáscara de Bash |
string1 <> string2 | Mathematica |
concat cadena 1 cadena 2 | Tcl |
{Ejemplo en Pascal} 'abc' + 'def' ; // devuelve "abcdef"
// Ejemplo en C # "abc" + "def" ; // devuelve "abcdef"
'Ejemplo en Visual Basic "abc" y "def" ' devuelve "abcdef" "abc" + "def" 'devuelve "abcdef" "abc" & Null ' devuelve "abc" "abc" + Null 'devuelve Null
// Ejemplo en D "abc" ~ "def" ; // devuelve "abcdef"
;; Ejemplo en lisp común ( concatenar 'cadena "abc" "def" "ghi" ) ; devuelve "abc def ghi"
# Ejemplo en Perl 5 "abc" ~ "def" ; # devuelve "abcdef" "Perl" ~ 5 ; # devuelve "Perl 5"
# Ejemplo en Raku "abc" ~ "def" ; # devuelve "abcdef" "Perl" ~ 6 ; # devuelve "Raku"
Contiene
Definición | contains(string,substring) devuelve booleano |
---|---|
Descripción | Devuelve si la cadena contiene una subcadena como una subcadena. Esto es equivalente a usar Buscar y luego detectar que no da como resultado la condición de falla listada en la tercera columna de la sección Buscar. Sin embargo, algunos idiomas tienen una forma más sencilla de expresar esta prueba. |
Relacionados | Encontrar |
Formato | Idiomas |
---|---|
string_in_string(string, loc int, substring) | ALGOL 68 |
ContainsStr(string, substring) | Objeto Pascal ( Delphi ) |
strstr(string, substring) != NULL | C , C ++ ( char * solo) |
string.Contains(substring) | C # , VB .NET , Windows PowerShell , F # |
string.contains(substring) | Cobra , Java (1.5+), Raku , Rust , [14] C ++ ( C ++ 23 ) [15] |
string.indexOf(substring) >= 0 | JavaScript |
strpos(string, substring) !== false | PHP |
pos(string, substring) <> 0 | Semilla7 |
substring in string | Cobra , Python (2.3+) |
string.find(string, substring) ~= nil | Lua |
string.include?(substring) | Rubí |
Data.List.isInfixOf substring string | Haskell (GHC 6.6+) |
string includesSubstring: substring | Smalltalk ( Squeak , Pharo , Smalltalk / X ) |
String.isSubstring substring string | ML estándar |
(search substring string) | Lisp común |
(not (null (string-index substring string))) | ISLISP |
(substring? substring string) | Clojure |
! StringFreeQ[string, substring] | Mathematica |
index(string, substring, startpos)>0 | Fortran, PL / I [16] |
index(string, substring, occurrence)>0 | Elija Básico |
strings.Contains(string, substring) | Ir |
string.find(substring) != string::npos | C ++ |
[string containsString:substring] | Objective-C ( NSString * solo, iOS 8 + / OS X 10.10+) |
string.rangeOfString(substring) != nil | Swift (Fundación) |
∨/substring⍷string | APL |
¢ Ejemplo en ALGOL 68 ¢cadena en cadena ("e", loc int , "Hola amigo"); ¢ devuelve verdadero ¢cadena en cadena ("z", loc int , "palabra"); ¢ devuelve falso ¢
// Ejemplo en C # "Hola amigo" . Contiene ( "e" ); // devuelve la "palabra" verdadera . Contiene ( "z" ); // devuelve falso
# Ejemplo en Python "e" en "Hola amigo" # devuelve verdadero "z" en "palabra" # devuelve falso
# Ejemplo en Raku "¡Buenos días!" . contiene ( 'z' ) # devuelve Falso "¡Buenos días!" . contiene ( 'í' ); # devuelve True
"Ejemplo en Smalltalk" 'Hola amigo' incluye subcadena: 'e' "devuelve verdadero" ' palabra ' incluye subcadena: 'z' "devuelve falso"
Igualdad
Prueba si dos cadenas son iguales. Consulte también #Compare y #Compare . Tenga en cuenta que realizar comprobaciones de igualdad mediante una comparación genérica con un resultado entero no solo es confuso para el programador, sino que a menudo es una operación significativamente más cara; esto es especialmente cierto cuando se utilizan " C-strings ".
Formato | Idiomas |
---|---|
string1 == string2 | Python , C ++ (STL), C # , Cobra , Go , JavaScript (similitud), PHP (similitud), Ruby , Rust , [10] Erlang , Haskell , Lua , D , Mathematica , Swift , Ya |
string1 === string2 | JavaScript , PHP |
string1 == string2 or | Fortran |
strcmp(string1, string2) == 0 | C |
(string=? string1 string2) | Esquema |
(string= string1 string2) | Common Lisp , ISLISP |
string1 = string2 | ALGOL 68 , Ada , Object Pascal ( Delphi ), OCaml , Pascal , Rexx , Seed7 , Standard ML , BASIC , VB , VB .NET , F # , Smalltalk , PL / I , COBOL |
test string1 = string2, or | Concha de Bourne |
string1 eq string2 | Perl , Raku |
string1.equals(string2) | Cobra , Java |
string1.Equals(string2) | C# |
string1 -eq string2, or | Windows PowerShell |
[string1 isEqualToString:string2], or | Objective-C ( NSString * solo) |
string1 ≡ string2 | APL |
string1.eq(string2) | Óxido [10] |
// Ejemplo en C # "hola" == "mundo" // devuelve falso
'Ejemplo en Visual Basic "hola" = "mundo" ' devuelve falso
# Ejemplos en Perl 5 'hola' eq 'mundo' # devuelve 0 'hola' eq 'hola' # devuelve 1
# Ejemplos en Raku 'hola' eq 'mundo' # devuelve Falso 'hola' eq 'hola' # devuelve Verdadero
# Ejemplo en Windows PowerShell "hello" -eq "world" # devuelve falso
⍝ Ejemplo en APL 'hola' ≡ 'mundo' ⍝ devuelve 0
Encontrar
Definición | find(string,substring) devuelve entero |
---|---|
Descripción | Devuelve la posición del inicio de la primera aparición de subcadena en cadena . Si no se encuentra la subcadena, la mayoría de estas rutinas devuelven un valor de índice no válido (-1 donde los índices están basados en 0, 0 donde están basados en 1) o algún valor que se interpretará como booleano FALSO. |
Relacionados | instrrev |
Formato | Idiomas | Si no se encuentra |
---|---|---|
string in string(substring, pos, string[startpos:]) | ALGOL 68 | devuelve BOOL: TRUE o FALSE, y la posición en REF INT pos. |
InStr(«startpos,»string,substring) | VB (las posiciones comienzan en 1) | devuelve 0 |
INSTR$(string,substring) | BÁSICO (las posiciones comienzan en 1) | devuelve 0 |
index(string,substring) | AWK | devuelve 0 |
index(string,substring«,startpos») | Perl 5 | devuelve −1 |
index(string,substring«,startpos») string.index(substring,«,startpos») | Raku | devuelve Nil |
instr(«startpos,»string,substring) | FreeBASIC | devuelve 0 |
strpos(string,substring«,startpos») | PHP | devuelve FALSE |
locate(string, substring) | Ingres | devuelve la longitud de la cadena + 1 |
strstr(string, substring) | C , C ++ ( solo, devuelve el puntero al primer carácter)char * | devuelve NULL |
std.string.indexOf(string, substring) | D | devuelve −1 |
pos(string, substring«, startpos») | Semilla7 | devuelve 0 |
strings.Index(string, substring) | Ir | devuelve −1 |
pos(substring, string) | Pascal , Objeto Pascal ( Delphi ) | devuelve 0 |
pos(substring, string«,startpos») | Rexx | devuelve 0 |
string.find(substring«,startpos») | C ++ (STL) | devuelve std :: string :: npos |
string.find(substring«,startpos«,endpos»») | Pitón | devuelve −1 |
string.index(substring«,startpos«,endpos»») | aumenta ValueError | |
string.index(substring«,startpos») | Rubí | devuelve nulo |
string.indexOf(substring«,startpos») | Java , JavaScript | devuelve −1 |
string.IndexOf(substring«,startpos«, charcount»») | VB .NET , C # , Windows PowerShell , F # | devuelve −1 |
string:str(string, substring) | Erlang | devuelve 0 |
(string-contains string substring) | Esquema (SRFI 13) | devuelve #f |
(search substring string) | Lisp común | devuelve NIL |
(string-index substring string) | ISLISP | devoluciones nil |
List.findIndex (List.isPrefixOf substring) (List.tails string) | Haskell (devuelve el índice Just ) | devuelve nada |
Str.search_forward (Str.regexp_string substring) string 0 | OCaml | plantea Not_found |
Substring.size (#1 (Substring.position substring (Substring.full string))) | ML estándar | devuelve la longitud de la cadena |
[string rangeOfString:substring].location | Objective-C ( NSString * solo) | devuelve NSNotFound |
string.find(string, substring) | Lua | devuelve nulo |
string indexOfSubCollection: substring startingAt: startpos ifAbsent: aBlock | Smalltalk ( Squeak , Pharo ) | evaluar un bloque que es un cierre de bloque (o cualquier valor de comprensión de objeto) devuelve 0 |
startpos = INDEX(string, substring «,back» «, kind») | Fortran | devuelve 0 si la subcadena no está en la cadena; devuelve LEN (cadena) +1 si la subcadena está vacía |
POSITION(substring IN string) | SQL | devuelve 0 (las posiciones comienzan en 1) |
index(string, substring, startpos ) | PL / I [16] | devuelve 0 (las posiciones comienzan en 1) |
index(string, substring, occurrence ) | Elija Básico | devuelve 0 si la ocurrencia de la subcadena no está en la cadena; (las posiciones comienzan en 1) |
string.indexOf(substring«,startpos«, charcount»») | Cobra | devuelve −1 |
string first substring string startpos | Tcl | devuelve −1 |
(substring⍷string)⍳1 | APL | devuelve 1 + la última posición en la cadena |
string.find(substring) | Óxido [17] | devoluciones None |
; Ejemplos en Common Lisp ( busque "e" "Hola amigo" ) ; devuelve 1 ( buscar "z" "palabra" ) ; devuelve NIL
// Ejemplos en C # "Hola amigo" . IndexOf ( "e" ); // devuelve 1 "Hola amigo" . IndexOf ( "e" , 4 ); // devuelve 9 "palabra" . IndexOf ( "z" ); // devuelve -1
# Ejemplos en Raku "¡Hola!" . index ( 'e' ) # devuelve 1 "¡Hola!" . index ( 'z' ) # devuelve Nil
; Ejemplos en Scheme ( use-modules ( srfi srfi-13 )) ( string-contains "Hola amigo" "e" ) ; devuelve 1 ( cadena-contiene "palabra" "z" ) ; devuelve #f
'Ejemplos en Visual Basic InStr ( "Hola amigo" , "e" ) ' devuelve 2 InStr ( 5 , "Hola amigo" , "e" ) 'devuelve 10 InStr ( "palabra" , "z" ) ' devuelve 0
"Ejemplos en Smalltalk" 'Hola amigo' indexOfSubCollection: 'ate' "devuelve 8" ' Hola amigo ' indexOfSubCollection: 'tarde' "devuelve 0" I ' Hola amigo ' indexOfSubCollection: 'tarde' ifAbsent: [ 99 ] "devuelve 99" ' Hola amigo ' indexOfSubCollection: 'tarde' ifAbsent: [ error propio ] "genera una excepción"
Encontrar personaje
Definición | find_character(string,char) devuelve entero |
---|---|
Descripción | Devuelve la posición del inicio de la primera aparición del carácter char en la cadena . Si no se encuentra el carácter, la mayoría de estas rutinas devuelven un valor de índice no válido (-1 donde los índices están basados en 0, 0 donde están basados en 1) o algún valor que se interpretará como booleano FALSO. Esto se puede lograr como un caso especial de #Find , con una cadena de un carácter; pero puede ser más simple o más eficiente en muchos idiomas localizar un solo carácter. Además, en muchos idiomas, los caracteres y las cadenas son de diferentes tipos, por lo que es conveniente tener dicha función. |
Relacionados | encontrar |
Formato | Idiomas | Si no se encuentra |
---|---|---|
char in string(char, pos, string[startpos:]) | ALGOL 68 | devuelve BOOL: TRUE o FALSE, y la posición en REF INT pos. |
instr(string, any char«,startpos») (char, puede contener más de un char, en cuyo caso se devuelve la posición de la primera aparición de cualquiera de ellos). | FreeBASIC | devuelve 0 |
strchr(string,char) | C , C ++ ( solo, devuelve el puntero al carácter)char * | devuelve NULL |
std.string.find(string, dchar) | D | devuelve −1 |
string.find(char«,startpos») | C ++ (STL) | devuelve std :: string :: npos |
pos(string, char«, startpos») | Semilla7 | devuelve 0 |
strings.IndexRune(string,char) | Ir | devuelve −1 |
string.indexOf(char«,startpos») | Java , JavaScript | devuelve −1 |
string.IndexOf(char«,startpos«, charcount»») | VB .NET , C # , Windows PowerShell , F # | devuelve −1 |
(position char string) | Lisp común | devuelve NIL |
(char-index char string) | ISLISP | devoluciones nil |
List.elemIndex char string | Haskell (vuelve )Just index | devoluciones Nothing |
String.index string char | OCaml | plantea Not_found |
position = SCAN (string, set «, back» «, kind») or | Fortran | devuelve cero |
string indexOf: char ifAbsent: aBlock | Charla | evaluar aBlock cuál es un BlockClosure (o cualquier valor de comprensión de objeto) devuelve 0 devuelve true ofalse |
index(string, char, startpos ) | PL / I [18] | devuelve 0 (las posiciones comienzan en 1) |
string.index(?char) | Rubí | devuelve nulo |
strpos(string,char,startpos) | PHP | devoluciones false |
string.indexOf(char«,startpos«, charcount»») | Cobra | devuelve −1 |
string⍳char | APL | devuelve 1 + la última posición en la cadena |
string.find(substring) | Óxido [17] | devoluciones None |
// Ejemplos en C # "Hola amigo" . IndexOf ( 'e' ); // devuelve 1 "palabra" . IndexOf ( 'z' ) // devuelve -1
; Ejemplos en Common Lisp ( posición # \ e "Hola amigo" ) ; devuelve 1 ( posición # \ z "palabra" ) ; devuelve NIL
^ a Dado un conjunto de caracteres, SCAN devuelve la posición del primer carácter encontrado, [19] mientras que VERIFY devuelve la posición del primer carácter que no pertenece al conjunto. [20]
Formato
Definición | format(formatstring, items) devuelve cadena |
---|---|
Descripción | Devuelve la representación de cadena formateada de uno o más elementos. |
Formato | Idiomas | Sintaxis de cadena de formato | |
---|---|---|---|
associate(file, string); putf(file, $formatstring$, items) | ALGOL 68 | ALGOL | |
Format(item, formatstring) | VB | | |
sprintf(formatstring, items) | Perl , PHP , Raku , Ruby | C | |
item.fmt(formatstring) | Raku | C | |
io_lib:format(formatstring, items) | Erlang | | |
sprintf(outputstring, formatstring, items) | C | C | |
std::format(formatstring, items) | C ++ ( C ++ 20 ) | Pitón | |
std.string.format(formatstring, items) | D | C | |
Format(formatstring, items) | Objeto Pascal ( Delphi ) | | |
fmt.Sprintf(formatstring, items) | Ir | C | |
printf -v outputstring formatstring items | Cáscara de Bash | C | |
formatstring % (items) | Python , Ruby | C | |
formatstring.format(items) | Pitón | .NETO | |
fformatstring | Python 3 | ||
Printf.sprintf formatstring [21] items | OCaml , F # | C | |
Text.Printf.printf formatstring items | Haskell (GHC) | C | |
formatstring printf: items | Charla | C | |
String.format(formatstring, items) | Java | C | |
String.Format(formatstring, items) | VB .NET , C # , F # | .NETO | |
(format formatstring items) | Esquema (SRFI 28) | Ceceo | |
(format nil formatstring items) | Lisp común | Ceceo | |
(format formatstring items) | Clojure | Ceceo | |
formatstring -f items | Windows PowerShell | .NETO | |
[NSString stringWithFormat:formatstring, items] | Objective-C ( NSString * solo) | C | |
String(format:formatstring, items) | Swift (Fundación) | C | |
string.format(formatstring, items) | Lua | C | |
WRITE (outputstring, formatstring) items | Fortran | Fortran | |
put string(string) edit(items)(format) | PL / I | PL / I (similar a Fortran) | |
String.format(formatstring, items) | Cobra | .NETO | |
format formatstring items | Tcl | C | |
formatnumbers ⍕ items o formatstring ⎕FMT items | APL | APL | |
format!(formatstring, items) | Óxido [22] | Pitón |
// Ejemplo en C # String . Formato ( "Mis {0} costos {1: C2}" , "bolígrafo" , 19,99 ); // devuelve "Mi bolígrafo cuesta $ 19,99"
// Ejemplo en formato Object Pascal (Delphi) ( 'Mi% s cuesta $% 2f' , [ 'pen' , 1 9,99 ]) ; // devuelve "Mi bolígrafo cuesta $ 19,99"
// Ejemplo en Java String . formato ( "Mi% s cuesta $% 2f" , "bolígrafo" , 19,99 ); // devuelve "Mi bolígrafo cuesta $ 19,99"
# Ejemplos en Raku sprintf "My% s cuesta \ $%. 2f" , "pen" , 19,99 ; # devuelve "Mi bolígrafo cuesta $ 19,99" 1 . fmt ( "% 04d" ); # devuelve "0001"
# Ejemplo en Python "Mi % s cuesta $ % .2f " % ( "pluma" , 19,99 ); # devuelve "Mi bolígrafo cuesta $ 19,99" "Mi {0} cuesta $ {1: .2f} " . formato ( "bolígrafo" , 19,99 ); # devuelve "Mi bolígrafo cuesta $ 19,99"
#Ejemplo en Python 3.6+ pen = "pen" f "Mi { pen } cuesta { 19,99 } " #returns "Mi bolígrafo cuesta 19,99"
; Ejemplo en Scheme ( formato "Mi ~ a cuesta $ ~ 1,2F" "pluma" 19,99 ) ; devuelve "Mi bolígrafo cuesta $ 19,99"
/ * ejemplo en PL / I * /put string (some_string) edit ('Mi', 'bolígrafo', 'costos', 19.99) (a, a, a, p '$$$ V.99')/ * devuelve "Mi bolígrafo cuesta $ 19,99" * /
Desigualdad
Prueba si dos cadenas no son iguales. Consulte también #Equality .
Formato | Idiomas |
---|---|
string1 ne string2, or string1 NE string2 | ALGOL 68 - nota: el operador " ne " está literalmente en negrita . |
string1 /= string2 | ALGOL 68 , Ada , Erlang , Fortran , Haskell |
string1 <> string2 | BASIC , VB , VB .NET , Pascal , Object Pascal ( Delphi ), OCaml , PHP , Seed7 , Standard ML , F # , COBOL , Cobra , Python 2 (obsoleto) |
string1 # string2 | BÁSICO (algunas implementaciones) |
string1 ne string2 | Perl , Raku |
(string<> string1 string2) | Esquema (SRFI 13) |
(string/= string1 string2) | Lisp común |
(string/= string1 string2) | ISLISP |
(not= string1 string2) | Clojure |
string1 != string2 | C ++ (STL), C # , Go , JavaScript (no similar), PHP (no similar), Python , Ruby , Rust , [10] Swift , D , Mathematica |
string1 !== string2 | JavaScript , PHP |
string1 \= string2 | Rexx |
string1 ¬= string2 | PL / I |
test string1 != string2, or | Concha de Bourne |
string1 -ne string2, or | Windows PowerShell |
string1 ~= string2 | Lua , Smalltalk |
string1 ≢ string2 | APL |
string1.ne(string2) | Óxido [10] |
// Ejemplo en C # "hola" ! = "Mundo" // devuelve verdadero
'Ejemplo en Visual Basic "hola" <> "mundo" ' devuelve verdadero
;; Ejemplo en Clojure ( not = "hola" "mundo" ) ; ⇒ cierto
# Ejemplo en Perl 5 'hola' ne 'mundo' # devuelve 1
# Ejemplo en Raku 'hello' ne 'world' # devuelve True
# Ejemplo en Windows PowerShell "hola" -ne "mundo" # devuelve verdadero
índice
ver #Buscar
índice de
ver #Buscar
instr
ver #Buscar
instrrev
ver #rfind
entrar
Definición | join(separator, list_of_strings) devuelve una lista de cadenas unidas con un separador |
---|---|
Descripción | Une la lista de cadenas en una nueva cadena, con la cadena de separación entre cada una de las subcadenas. Lo contrario de split . |
Relacionados | sprintf |
Formato | Idiomas |
---|---|
std.string.join(array_of_strings, separator) | D |
string:join(list_of_strings, separator) | Erlang |
join(separator, list_of_strings) | Perl , PHP , Raku |
implode(separator, array_of_strings) | PHP |
separator.join(sequence_of_strings) | Python , Swift 1.x |
array_of_strings.join(separator) | Ruby , JavaScript , Raku , Rust [23] |
(string-join array_of_strings separator) | Esquema (SRFI 13) |
(format nil "~{~a~^separator~}" array_of_strings) | Lisp común |
(clojure.string/join separator list_of_strings) | Clojure |
strings.Join(array_of_strings, separator) | Ir |
join(array_of_strings, separator) | Semilla7 |
String.concat separator list_of_strings | OCaml |
String.concatWith separator list_of_strings | ML estándar |
Data.List.intercalate separator list_of_strings | Haskell (GHC 6.8 o superior) |
Join(array_of_strings, separator) | VB |
String.Join(separator, array_of_strings) | VB .NET , C # , F # |
String.join(separator, array_of_strings) | Java 8+ |
&{$OFS=$separator; "$array_of_strings"}, or | Windows PowerShell |
[array_of_strings componentsJoinedByString:separator] | Objective-C ( NSString * solo) |
table.concat(table_of_strings, separator) | Lua |
{|String streamContents: [ :stream | collectionOfAnything asStringOn: stream delimiter: separator ] | Smalltalk ( Squeak , Pharo ) |
array_of_strings.join(separator«, final_separator») | Cobra |
sequence_of_strings.joinWithSeparator(separator) | Rápido 2.x |
1↓∊separator,¨list_of_strings | APL |
// Ejemplo en C # String . Unir ( "-" , { "a" , "b" , "c" }) // "abc"
"Ejemplo en Smalltalk" # ( 'a' 'b' 'c' ) joinUsing: '-' "'abc'"
# Ejemplo en Perl 5 join ( '-' , ( 'a' , 'b' , 'c' )); # 'a B C'
# Ejemplo en Raku . unirse ( '-' ); # 'a B C'
# Ejemplo en Python "-" . unirse ([ "a" , "b" , "c" ]) # 'ab-c'
# Ejemplo en Ruby [ "a" , "b" , "c" ]. unirse ( "-" ) # 'ab-c'
; Ejemplo en Scheme ( use-modules ( srfi srfi-13 )) ( string-join ' ( "a" "b" "c" ) "-" ) ; "a B C"
último índice de
ver #rfind
izquierda
Definición | left(string,n) devuelve cadena |
---|---|
Descripción | Devuelve la parte n izquierda de una cadena. Si n es mayor que la longitud de la cadena, la mayoría de las implementaciones devuelven la cadena completa (existen excepciones; consulte los ejemplos de código). Tenga en cuenta que para codificaciones de longitud variable como UTF-8 , UTF-16 o Shift-JIS , puede ser necesario eliminar las posiciones de las cadenas al final para evitar cadenas no válidas. |
Formato | Idiomas |
---|---|
string (string'First .. string'First + n - 1) | Ada |
substr(string, 0, n) | AWK (cadena de cambios), Perl , PHP , Raku |
LEFT$(string,n) | BÁSICO , VB |
left(string,n) | VB , FreeBASIC , Ingres , Pick Basic |
strncpy(string2, string, n) | Biblioteca estándar de C |
string.substr(0,n) | C ++ (STL), Raku |
[string substringToIndex:n] | Objective-C ( NSString * solo) |
(apply str (take n string)) | Clojure |
string[0 .. n] | D [24] |
string:substr(string, start, length) | Erlang |
(subseq string 0 n) | Lisp común |
string[:n] | Cobra , Go , Python |
left(string,n «,padchar») | Rexx , Erlang |
string[0, n] | Rubí |
string[1, n] | Elija Básico |
string[ .. n] | Semilla7 |
string.Substring(0,n) | VB .NET , C # , Windows PowerShell , F # |
leftstr(string, n) | Pascal , Objeto Pascal ( Delphi ) |
copy (string,1,n) | Turbo Pascal |
string.substring(0,n) | Java , [25] JavaScript |
(string-take string n) | Esquema (SRFI 13) |
take n string | Haskell |
String.extract (string, n, NONE) | ML estándar |
String.sub string 0 n | OCaml [26] |
string.[..n] | F# |
string.sub(string, 1, n) | Lua |
string first: n | Smalltalk ( Squeak , Pharo ) |
string(:n) | Fortran |
StringTake[string, n] | Mathematica [27] |
string («FUNCTION» LENGTH(string) - n:n) | COBOL |
string.substring(0, n) | Cobra |
n↑string. | APL |
string[0..n] string[..n] string.get(0..n) string.get(..n) | Óxido [28] |
# Ejemplo en Raku "¡Hola!" . substr ( 0 , 6 ); # devuelve "Hola"
/ * Ejemplos en Rexx * /left ( "abcde" , 3 ) / * devuelve "abc" * / left ( "abcde" , 8 ) / * devuelve "abcde" * / left ( "abcde" , 8 , "*" ) / * devuelve "abcde ***" * /
; Ejemplos en Scheme ( use-modules ( srfi srfi-13 )) ( string-take "abcde" , 3 ) ; devuelve "abc" ( string-take "abcde" , 8 ) ; error
' Ejemplos en Visual Basic Izquierda ( "sandroguidi" , 3 ) ' devuelve "san" Izquierda ( "sandroguidi" , 100 ) ' devuelve "sandroguidi"
// Ejemplos en Ya "abcde" [ 0..3 ] // devuelve "abc" "abcde" [ 0..8 ] // devuelve "abcde"
len
ver #longitud
largo
Definición | length(string) devuelve un número entero |
---|---|
Descripción | Devuelve la longitud de una cadena (sin contar el terminador nulo o cualquier otra información estructural interna de la cadena). Una cadena vacía devuelve una longitud de 0. |
Formato | Devoluciones | Idiomas |
---|---|---|
string'Length | | Ada |
UPB string | | ALGOL 68 |
length(string) | | Ingres , Perl 5 , Pascal , Object Pascal ( Delphi ), Rexx , Seed7 , SQL , PL / I |
len(string) | | BÁSICO , FreeBASIC , Python , Go , Elija Básico |
length(string), string:len(string) | | Erlang |
Len(string) | | VB , elegir básico |
string.Length | Número de unidades de código UTF-16 | VB .NET , C # , Windows PowerShell , F # |
chars(string) string.chars | Número de grafemas (NFG) | Raku |
codes(string) string.codes | Número de puntos de código Unicode | Raku |
string.size OR string.length | Número de bytes [29] | Rubí |
strlen(string) | Número de bytes | C , PHP |
string.length() | | C ++ (STL) |
string.length | | Cobra , D , JavaScript |
string.length() | Número de unidades de código UTF-16 | Java |
(string-length string) | | Esquema |
(length string) | | Common Lisp , ISLISP |
(count string) | | Clojure |
String.length string | | OCaml |
size string | | ML estándar |
length string | Número de puntos de código Unicode | Haskell |
string.length | Número de unidades de código UTF-16 | Objective-C ( NSString * solo) |
string.characters.count | Número de caracteres | Rápido (2.x) |
count(string) | Número de caracteres | Rápido (1,2) |
countElements(string) | Número de caracteres | Rápido (1.0-1.1) |
string.len(string) | | Lua |
string size | | Charla |
LEN(string), or LEN_TRIM(string) | | Fortran |
StringLength[string] | | Mathematica |
Length(string) o
| número de bytes como $int+ | Ya |
«FUNCTION» LENGTH(string) o
| número de caracteres y número de bytes, respectivamente | COBOL |
string length string | una cadena decimal que indica el número de caracteres | Tcl |
≢ string | APL | |
string.len() | Número de bytes | Óxido [30] |
string.chars().count() | Número de puntos de código Unicode | Óxido [31] |
// Ejemplos en C # "hola" . Longitud ; // devuelve 5 "" . Longitud ; // devuelve 0
# Ejemplos en cadena Erlang : len ( "hola" ). % devuelve 5 cadenas : len ( "" ). % devuelve 0
# Ejemplos en Perl 5 length ( "hola" ); # devuelve 5 longitudes ( "" ); # devuelve 0
# Ejemplos en Raku "🏳️🌈" . carbones de leña ; caracteres "🏳️🌈" ; # ambos devuelven 1 "🏳️🌈" . códigos ; códigos "🏳️🌈" ; # ambos devuelven 4 "" . carbones de leña ; caracteres "" ; # ambos devuelven 0 "" . códigos ; códigos "" ; # ambos devuelven 0
'Ejemplos en Visual Basic Len ( "hola" ) ' devuelve 5 Len ( "" ) 'devuelve 0
// Ejemplos en Objective-C [ @ "hola" Longitud ] // devuelve 5 [ @ "" Longitud ] // devuelve 0
- Ejemplos en Lua ( "hola" ): len () - devuelve 5 # "" - devuelve 0
localizar
ver #Buscar
Minúscula
Definición | lowercase(string) devuelve cadena |
---|---|
Descripción | Devuelve la cadena en minúsculas. |
Formato | Idiomas |
---|---|
LCase(string) | VB |
lcase(string) | FreeBASIC |
lc(string) | Perl , Raku |
string.lc | Raku |
tolower(char) | C [32] |
std.string.toLower(string) | D |
transform(string.begin(), string.end(), result.begin(), ::tolower) [33] | C ++ [34] |
lowercase(string) | Objeto Pascal ( Delphi ) |
strtolower(string) | PHP |
lower(string) | Semilla7 |
echo "string" | tr 'A-Z' 'a-z' | Unix |
string.lower() | Pitón |
downcase(string) | Elija Básico |
string.downcase | Rubí [35] |
strings.ToLower(string) | Ir |
(string-downcase string) | Esquema (R6RS), Common Lisp |
(lower-case string) | Clojure |
String.lowercase string | OCaml |
String.map Char.toLower string | ML estándar |
map Char.toLower string | Haskell |
string.toLowerCase() | Java , JavaScript |
to_lower(string) | Erlang |
string.ToLower() | VB .NET , C # , Windows PowerShell , F # |
string.lowercaseString | Objective-C ( NSString * solo), Swift (Fundación) |
string.lower(string) | Lua |
string asLowercase | Charla |
LOWER(string) | SQL |
lowercase(string) | PL / I [8] |
ToLowerCase[string] | Mathematica |
«FUNCTION» LOWER-CASE(string) | COBOL |
string.toLower | Cobra |
string tolower string | Tcl |
string.to_lowercase() | Óxido [36] |
// Ejemplo en C # "Wiki significa rápido?" . ToLower (); // "¿wiki significa rápido?"
; Ejemplo en Scheme ( use-modules ( srfi srfi-13 )) ( string-downcase "Wiki significa rápido?" ) ; "wiki significa rápido?"
/ * Ejemplo en C * / #include #include int main ( void ) { char string [] = "¿Wiki significa rápido?" ; int i ; for ( i = 0 ; i < sizeof ( string ) - 1 ; ++ i ) { / * transforma los caracteres en su lugar, uno por uno * / string [ i ] = tolower ( string [ i ]); } put ( cadena ); / * "wiki significa rápido?" * / return 0 ; }
# Ejemplo en Raku "Wiki significa rápido?" . lc ; # "wiki significa rápido?"
medio
ver #substring
dividir
Definición | |
---|---|
Descripción | Divide la cadena dada por el separador y devuelve las tres subcadenas que juntas forman el original. |
Formato | Idiomas | Comentarios |
---|---|---|
string.partition(separator) | Python , Ruby (1.9+) | |
lists:partition(pred, string) | Erlang | |
split /(separator)/, string, 2 | Perl 5 | |
split separator, string, 2 string.split( separator, 2 ) | Raku | El separador no tiene que ser una expresión regular |
# Ejemplos en Python "Spam huevos, spam, spam y jamón" . partición ( 'spam' ) # ('Huevos de spam', 'spam', 'spam y jamón') "Huevos de spam spam spam y jamón" . partición ( 'X' ) # ('Huevos de spam, spam, spam y jamón', "", "")
# Ejemplos en Perl 5 / Raku split / (spam) / , 'Huevos de spam, spam, spam y jamón' , 2 ; # ('Huevos de spam', 'spam', 'spam y jamón'); split / (X) / , 'Huevos de spam, spam, spam y jamón' , 2 ; # ('Huevos de spam, spam, spam y jamón');
reemplazar
Definición | replace(string, find, replace) devuelve cadena |
---|---|
Descripción | Devuelve una cadena con las apariciones de búsqueda modificadas para reemplazar . |
Formato | Idiomas |
---|---|
changestr(find, string, replace) | Rexx |
std.string.replace(string, find, replace) | D |
Replace(string, find, replace) | VB |
replace(string, find, replace) | Semilla7 |
change(string, find, replace) | Elija Básico |
string.Replace(find, replace) | C # , F # , VB .NET |
str_replace(find, replace, string) | PHP |
re:replace(string, find, replace, «{return, list}») | Erlang |
string.replace(find, replace) | Cobra , Java (1.5+), Python , Rust [37] |
string.replaceAll(find_regex, replace)[38] | Java |
string.gsub(find, replace) | Rubí |
string =~ s/find_regex/replace/g[38] | Perl 5 |
string.subst(find, replace, :g) | Raku |
string.replace(find, replace, "g") [39] or | JavaScript |
echo "string" | sed 's/find_regex/replace/g'[38] | Unix |
string.replace(find, replace), or | Windows PowerShell |
Str.global_replace (Str.regexp_string find) replace string | OCaml |
[string stringByReplacingOccurrencesOfString:find withString:replace] | Objective-C ( NSString * solo) |
string.stringByReplacingOccurrencesOfString(find, withString:replace) | Swift (Fundación) |
string.gsub(string, find, replace) | Lua |
string copyReplaceAll: find with: replace | Smalltalk ( Squeak , Pharo ) |
string map {find replace} string | Tcl |
StringReplace[string, find -> replace] | Mathematica |
strings.Replace(string, find, replace, -1) | Ir |
INSPECT string REPLACING ALL/LEADING/FIRST find BY replace | COBOL |
find_regex ⎕R replace_regex ⊢ string | APL |
// Ejemplos en C # "effffff" . Reemplazar ( "f" , "saltar" ); // devuelve "ejumpjumpjumpjumpjumpjump" "bla" . Reemplazar ( "z" , "y" ); // devuelve "bla"
// Ejemplos en Java "effffff" . reemplazar ( "f" , "saltar" ); // devuelve "ejumpjumpjumpjumpjumpjump" "effffff" . reemplazarTodo ( "f *" , "saltar" ); // devuelve "ejump"
// Ejemplos en Raku "effffff" . subst ( "f" , "salto" ,: g ); # devuelve "ejumpjumpjumpjumpjumpjump" "bla" . subst ( "z" , "y" ,: g ); # devuelve "bla"
'Ejemplos en Visual Basic Reemplazar ( "effffff" , "f" , "saltar" ) ' devuelve "ejumpjumpjumpjumpjumpjump" Reemplazar ( "bla" , "z" , "y" ) 'devuelve "bla"
# Ejemplos en Windows PowerShell "effffff" -replace "f" , "jump" # devuelve "ejumpjumpjumpjumpjumpjump" "effffff" -replace "f *" , "jump" # devuelve "ejump"
contrarrestar
Definición | reverse(string) |
---|---|
Descripción | Invierte el orden de los caracteres en la cadena. |
Formato | Idiomas |
---|---|
reverse string | Perl 5 , Haskell |
flip string string.flip | Raku |
lists:reverse(string) | Erlang |
strrev(string) | PHP |
string[::-1] | Pitón |
(string-reverse string) | Esquema (SRFI 13) |
(reverse string) | Lisp común |
string.reverse | Ruby , D (modifica cadena) |
new StringBuilder(string).reverse().toString() | Java |
std::reverse(string.begin(), string.end()); | C ++ ( std::string solo, modifica cadena) |
StrReverse(string) | VB |
string.Reverse().ToString() | VB .NET , C # |
implode (rev (explode string)) | ML estándar |
string.split("").reverse().join("") | JavaScript |
string.reverse(string) | Lua |
string reverse | Charla |
StringReverse[string] | Mathematica |
reverse(string) | PL / I |
«FUNCTION» REVERSE(string) | COBOL |
string.toCharArray.toList.reversed.join() | Cobra |
String(string.characters.reverse()) | Rápido (2.x) |
String(reverse(string)) | Rápido (1,2) |
string reverse string | Tcl |
⌽string | APL |
string.chars().rev().collect:: | Óxido [40] |
"Ejemplo en Smalltalk" 'hola' invertido "devuelve 'olleh'"
# Ejemplo en Perl 5 inversa "hola" # devuelve "olleh"
# Ejemplo en Raku "hola" . flip # devuelve "olleh"
# Ejemplo en Python "hola" [:: - 1 ] # devuelve "olleh"
; Ejemplo en Scheme ( use-modules ( srfi srfi-13 )) ( string-reverse "hola" ) ; devuelve "olleh"
encontrar
Definición | rfind(string,substring) devuelve entero |
---|---|
Descripción | Devuelve la posición del inicio de la última aparición de subcadena en cadena . Si no se encuentra la subcadena, la mayoría de estas rutinas devuelven un valor de índice no válido (-1 donde los índices están basados en 0, 0 donde están basados en 1) o algún valor que se interpretará como booleano FALSO. |
Relacionados | instr |
Formato | Idiomas | Si no se encuentra |
---|---|---|
InStrRev(«startpos,» string,substring) | VB | devuelve 0 |
instrrev(«startpos,» string,substring) | FreeBASIC | devuelve 0 |
rindex(string,substring«,startpos») | Perl 5 | devuelve −1 |
rindex(string,substring«,startpos») string.rindex(substring«,startpos») | Raku | devuelve Nil |
strrpos(string,substring«,startpos») | PHP | devuelve FALSE |
string.rfind(substring«,startpos») | C ++ (STL) | devuelve std :: string :: npos |
std.string.rfind(string, substring) | D | devuelve −1 |
string.rfind(substring«,startpos«, endpos»») | Pitón | devuelve −1 |
string.rindex(substring«,startpos«, endpos»») | aumenta ValueError | |
rpos(string, substring«,startpos») | Semilla7 | devuelve 0 |
string.rindex(substring«,startpos») | Rubí | devuelve nulo |
strings.LastIndex(string, substring) | Ir | devuelve −1 |
string.lastIndexOf(substring«,startpos») | Java , JavaScript | devuelve −1 |
string.LastIndexOf(substring«,startpos«, charcount»») | VB .NET , C # , Windows PowerShell , F # | devuelve −1 |
(search substring string :from-end t) | Lisp común | devuelve NIL |
[string rangeOfString:substring options:NSBackwardsSearch].location | Objective-C ( NSString * solo) | devuelve NSNotFound |
Str.search_backward (Str.regexp_string substring) string (Str.length string - 1) | OCaml | plantea Not_found |
string.match(string, '.*()'..substring) | Lua | devuelve nulo |
Ada.Strings.Unbounded.Index(Source => string, Pattern => substring, | Ada | devuelve 0 |
string.lastIndexOf(substring«,startpos«, charcount»») | Cobra | devuelve −1 |
string lastIndexOfString:substring | Charla | devuelve 0 |
string last substring string startpos | Tcl | devuelve −1 |
(⌽<\⌽substring⍷'string')⍳1 | APL | devuelve −1 |
string.rfind(substring) | Óxido [41] | devoluciones None |
; Ejemplos en Common Lisp ( búsqueda "e" "Hola amigo" : desde el final t ) ; devuelve 9 ( buscar "z" "palabra" : desde el final t ) ; devuelve NIL
// Ejemplos en C # "Hola amigo" . LastIndexOf ( "e" ); // devuelve 9 "Hola amigo" . LastIndexOf ( "e" , 4 ); // devuelve 1 "palabra" . LastIndexOf ( "z" ); // devuelve -1
# Ejemplos en Perl 5 rindex ( "Hola amigo" , "e" ); # devuelve 9 rindex ( "Hola amigo" , "e" , 4 ); # devuelve 1 rindex ( "palabra" , "z" ); # devuelve -1
# Ejemplos en Raku "Hola amigo" . rindex ( "e" ); # devuelve 9 "Hola amigo" . rindex ( "e" , 4 ); # devuelve 1 "palabra" . rindex ( 'z' ); # devuelve Nil
'Ejemplos en Visual Basic InStrRev ( "Hola amigo" , "e" ) ' devuelve 10 InStrRev ( 5 , "Hola amigo" , "e" ) 'devuelve 2 InStrRev ( "palabra" , "z" ) ' devuelve 0
derecho
Definición | right(string,n) devuelve cadena |
---|---|
Descripción | Devuelve la n parte derecha de una cadena. Si n es mayor que la longitud de la cadena, la mayoría de las implementaciones devuelven la cadena completa (existen excepciones; consulte los ejemplos de código). |
Formato | Idiomas |
---|---|
string (string'Last - n + 1 .. string'Last) | Ada |
Right(string,n) | VB |
RIGHT$(string,n) | BÁSICO |
right(string,n) | FreeBASIC , Ingres , Pick Basic |
strcpy(string2, string+n) (n no debe ser mayor que la longitud de la cuerda ) | C |
string.Substring(string.Length()-n) | C# |
string[len(string)-n:] | Ir |
string.substring(string.length()-n) | Java |
string.slice(-n) | JavaScript [42] |
right(string,n «,padchar») | Rexx , Erlang |
substr(string,-n) | Perl 5 , PHP |
substr(string,*-n) string.substr(*-n) | Raku |
string[-n:] | Cobra , Python |
string[n] | Elija Básico |
(string-take-right string n) | Esquema (SRFI 13) |
string[-n..-1] | Ruby , Ya |
string[$-n .. $] | D [43] |
String.sub string (String.length string - n) n | OCaml [26] |
string.sub(string, -n) | Lua |
string last: n | Smalltalk ( Squeak , Pharo ) |
StringTake[string, -n] | Mathematica [27] |
string (1:n) | COBOL |
¯n↑string. | APL |
string[n..] string.get(n..) | Óxido [28] |
// Ejemplos en Java; extraer los 4 caracteres más a la derecha String str = "CarDoor" ; str . subcadena ( str . longitud () - 4 ); // devuelve 'Puerta'
# Ejemplos en Raku "abcde" . substr (* - 3 ); # devuelve "cde" "abcde" . substr (* - 8 ); # error 'fuera de rango'
/ * Ejemplos en Rexx * /derecha ( "abcde" , 3 ) / * devuelve "cde" * / derecha ( "abcde" , 8 ) / * devuelve "abcde" * / right ( "abcde" , 8 , "*" ) / * devuelve "*** abcde" * /
; Ejemplos en Scheme ( use-modules ( srfi srfi-13 )) ( string-take-right "abcde" , 3 ) ; devuelve "cde" ( string-take-right "abcde" , 8 ) ; error
'Ejemplos en Visual Basic Derecha ( "sandroguidi" , 3 ) ' devuelve "idi" Derecha ( "sandroguidi" , 100 ) 'devuelve "sandroguidi"
partición
Definición | |
---|---|
Descripción | Divide la cadena dada por el separador más a la derecha y devuelve las tres subcadenas que juntas forman el original. |
Formato | Idiomas |
---|---|
string.rpartition(separator) | Python , Ruby |
# Ejemplos en Python "Spam huevos, spam, spam y jamón" . rpartition ( 'spam' ) ### ('Spam huevos spam', 'spam', 'y ham') "Spam huevos spam spam y jamón" . rpartition ( 'X' ) ### ("", "", 'Huevos de spam, spam, spam y jamón')
rodaja
ver #substring
separar
Definición | |
---|---|
Descripción | Divide la cadena dada por apariciones del separador (en sí misma una cadena) y devuelve una lista (o matriz) de las subcadenas. Si se da el límite , después de leer los separadores de límite 1, el resto de la cadena se convierte en la última subcadena, independientemente de si tiene separadores. Las implementaciones de Scheme y Erlang son similares pero difieren en varios aspectos. JavaScript también se diferencia en que corta, no coloca el resto de la cadena en el último elemento. Vea el ejemplo aquí . La implementación de Cobra estará predeterminada en espacios en blanco. Frente a unirse . |
Formato | Idiomas |
---|---|
split(/separator/, string«, limit») | Perl 5 |
split(separator, string«, limit») string.split(separator, «limit») | Raku |
explode(separator, string«, limit») | PHP |
string.split(separator«, limit-1») | Pitón |
string.split(separator«, limit») | JavaScript , Java , Ruby |
string:tokens(string, sepchars) | Erlang |
strings.Split(string, separator) | Ir |
(string-tokenize string« charset« start« end»»») | Esquema (SRFI 13) |
Split(string, sepchars«, limit») | VB |
string.Split(sepchars«, limit«, options»») | VB .NET , C # , F # |
string -split separator«, limit«, options»» | Windows PowerShell |
Str.split (Str.regexp_string separator) string | OCaml |
std.string.split(string, separator) | D |
[string componentsSeparatedByString:separator] | Objective-C ( NSString * solo) |
string.componentsSeparatedByString(separator) | Swift (Fundación) |
TStringList.Delimiter, TStringList.DelimitedText | Objeto Pascal |
StringSplit[string, separator«, limit»] | Mathematica |
string.split«(sepchars«, limit«, options»»)» | Cobra |
split string separator | Tcl |
(separator≠string)⊂string o en APL2 y Dyalog APL 16.0 respectivamenteseparator(≠⊆⊢)string | APL |
string.split(separator)
| Óxido [44] |
// Ejemplo en C # "abc, defgh, ijk" . Dividir ( ',' ); // {"abc", "defgh", "ijk"} "abc, defgh; ijk" . Dividir ( ',' , ';' ); // {"abc", "defgh", "ijk"}
% Ejemplo en cadena Erlang : tokens ( "abc; defgh; ijk" , ";" ). % ["abc", "defgh", "ijk"]
// Ejemplos en Java "abc, defgh, ijk" . dividir ( "," ); // {"abc", "defgh", "ijk"} "abc, defgh; ijk" . dividir ( ", |;" ); // {"abc", "defgh", "ijk"}
{Ejemplo en Pascal} var lStrings : TStringList ; lStr : cadena ; comience lStrings : = TStringList . Crear ; lStrings . Delimitador : = ',' ; lStrings . DelimitedText : = 'abc, defgh, ijk' ; lStr : = lStrings . Cadenas [ 0 ] ; // 'abc' lStr : = lStrings . Cadenas [ 1 ] ; // 'defgh' lStr : = lStrings . Cadenas [ 2 ] ; // 'ijk' final ;
# Ejemplos en Perl 5 split ( / spam / , 'Huevos de spam, spam, spam y jamón' ); # ('Huevos de spam', '', 'y jamón') split ( / X / , 'Huevos de spam, spam, spam y jamón' ); # ('Spam huevos, spam, spam y jamón')
# Ejemplos en Raku 'Spam huevos spam spam y jamón' . dividir ( / spam / ); # (Spam huevos y jamón) split ( / X / , 'Spam huevos spam spam y jamón' ); # (Huevos de spam, spam, spam y jamón)
sprintf
ver #Formato
banda
ver #trim
strcmp
ver #Compare (resultado entero)
subcadena
Definición | substring(string, startpos, endpos) devuelve cadena devuelve cadenasubstr(string, startpos, numChars) |
---|---|
Descripción | Devuelve una subcadena de cadena entre comenzar en startpos y endpos , o comenzar en startpos de longitud numChars . La cadena resultante se trunca si hay menos de numChars caracteres más allá del punto de inicio. endpos representa el índice después del último carácter de la subcadena. Tenga en cuenta que para codificaciones de longitud variable como UTF-8 , UTF-16 o Shift-JIS , puede ser necesario eliminar las posiciones de las cadenas al final para evitar cadenas no válidas. |
Formato | Idiomas |
---|---|
string[startpos:endpos] | ALGOL 68 (cambia el índice base) |
string (startpos .. endpos) | Ada (cambia el índice base) |
Mid(string, startpos, numChars) | VB |
mid(string, startpos, numChars) | FreeBASIC |
string[startpos+(⍳numChars)-~⎕IO] | APL |
MID$(string, startpos, numChars) | BÁSICO |
substr(string, startpos, numChars) | AWK (cadena de cambios), Perl 5 , [45] [46] PHP [45] [46] |
substr(string, startpos, numChars) string.substr(startpos, numChars) | Raku [47] [48] |
substr(string, startpos «,numChars, padChar») | Rexx |
string[startpos:endpos] | Cobra , Python , [45] [49] Ir |
string[startpos, numChars] | Elija Básico |
string[startpos, numChars] | Rubí [45] [49] |
string[startpos .. endpos] | Semilla7 |
string.slice(startpos«, endpos») | JavaScript [45] [49] |
string.substr(startpos«, numChars») | C ++ (STL), JavaScript |
string.Substring(startpos, numChars) | VB .NET , C # , Windows PowerShell , F # |
string.substring(startpos«, endpos») | Java , JavaScript |
copy(string, startpos, numChars) | Objeto Pascal ( Delphi ) |
(substring string startpos endpos) | Esquema |
(subseq string startpos endpos) | Lisp común |
(subseq string startpos endpos) | ISLISP |
String.sub string startpos numChars | OCaml |
substring (string, startpos, numChars) | ML estándar |
string:sub_string(string, startpos, endpos) | Erlang |
strncpy(result, string + startpos, numChars); | C |
string[startpos .. endpos+1] | D |
take numChars $ drop startpos string | Haskell |
[string substringWithRange:NSMakeRange(startpos, numChars)] | Objective-C ( NSString * solo) |
string.[startpos..endpos] | F# |
string.sub(string, startpos, endpos) | Lua [45] [49] |
string copyFrom: startpos to: endpos | Charla |
string(startpos:endpos) | Fortran |
SUBSTRING(string FROM startpos «FOR numChars») | SQL |
StringTake[string, {startpos, endpos}] | Mathematica [45] [49] |
string[startpos .. endpos] | Ya |
string (startpos:numChars) | COBOL |
rango de cadena string startpos endpos | Tcl |
string[startpos..endpos] string.get(startpos..endpos) | Óxido [28] |
// Ejemplos en C # "abc" . Substring ( 1 , 1 ): // devuelve "b" "abc" . Subcadena ( 1 , 2 ); // devuelve "bc" "abc" . Subcadena ( 1 , 6 ); // error
;; Ejemplos en Common Lisp ( subsección "abc" 1 2 ) ; devuelve "b" ( subsección "abc" 2 ) ; devuelve "c"
% Ejemplos en cadena Erlang : substr ( "abc" , 2 , 1 ). % devuelve cadena "b" : substr ( "abc" , 2 ). % devuelve "bc"
# Ejemplos en Perl 5 substr ( "abc" , 1 , 1 ); # devuelve "b" substr ( "abc" , 1 ); # devuelve "bc"
# Ejemplos en Raku "abc" . substr ( 1 , 1 ); # devuelve "b" "abc" . substr ( 1 ); # devuelve "bc"
# Ejemplos en Python "abc" [ 1 : 2 ] # devuelve "b" "abc" [ 1 : 3 ] # devuelve "bc"
/ * Ejemplos en Rexx * /substr ( "abc" , 2 , 1 ) / * devuelve "b" * / substr ( "abc" , 2 ) / * devuelve "bc" * / substr ( "abc" , 2 , 6 ) / * devuelve "bc" * / substr ( "abc" , 2 , 6 , "*" ) / * devuelve "bc ****" * /
Mayúsculas
Definición | uppercase(string) devuelve cadena |
---|---|
Descripción | Devuelve la cadena en mayúsculas. |
Formato | Idiomas |
---|---|
UCase(string) | VB |
ucase(string) | FreeBASIC |
toupper(string) | AWK (cambia la cadena) |
uc(string) | Perl , Raku |
string.uc | Raku |
toupper(char) | C (opera en un carácter) |
for(size_t i = 0, len = strlen(string); i< len; i++) string[i] = toupper(string[i]); for (char *c = string; *c != '\0'; c++) *c = toupper(*c); | C (cadena / matriz de caracteres) |
std.string.toUpper(string) | D |
transform(string.begin(), string.end(), result.begin(), toupper)[33] | C ++ [50] |
uppercase(string) | Objeto Pascal ( Delphi ) |
upcase(char) | Object Pascal ( Delphi ) (opera en un carácter) |
strtoupper(string) | PHP |
upper(string) | Semilla7 |
echo "string" | tr 'a-z' 'A-Z' | Unix |
translate(string) , o
| Rexx |
string.upper() | Pitón |
upcase(string) | Elija Básico |
string.upcase | Rubí [35] |
strings.ToUpper(string) | Ir |
(string-upcase string) | Esquema , Common Lisp |
String.uppercase string | OCaml |
String.map Char.toUpper string | ML estándar |
map Char.toUpper string | Haskell |
string.toUpperCase() | Java , JavaScript |
to_upper(string) | Erlang |
string.ToUpper() | VB .NET , C # , Windows PowerShell , F # |
string.uppercaseString | Objective-C ( NSString * solo), Swift (Fundación) |
string.upper(string) | Lua |
string asUppercase | Charla |
UPPER(string) | SQL |
ToUpperCase[string] | Mathematica |
«FUNCTION» UPPER-CASE(string) | COBOL |
string.toUpper | Cobra |
string toupper string | Tcl |
string.to_uppercase() | Óxido [51] |
// Ejemplo en C # "Wiki significa rápido?" . ToUpper (); // "¿WIKI SIGNIFICA RÁPIDO?"
# Ejemplo en Perl 5 uc ( "¿Wiki significa rápido?" ); # "¿WIKI SIGNIFICA RÁPIDO?"
# Ejemplo en Raku uc ( "Wiki significa rápido?" ); # "¿WIKI SIGNIFICA RÁPIDO?" "¿Wiki significa rápido?" . uc ; # "¿WIKI SIGNIFICA RÁPIDO?"
/ * Ejemplo en Rexx * /traducir ( "¿Wiki significa rápido?" ) / * "¿WIKI SIGNIFICA RÁPIDO?" * / / * Ejemplo # 2 * /A = 'Este es un ejemplo'.SUPERIOR A / * "ESTE ES UN EJEMPLO". * / / * Ejemplo # 3 * /A = 'superior usando la función de traducción'.Traducir UPPER VAR A Z / * Z = "UPPER USANDO LA FUNCIÓN DE TRADUCCIÓN". * /
; Ejemplo en Scheme ( use-modules ( srfi srfi-13 )) ( string-upcase "Wiki significa rápido?" ) ; "¿WIKI SIGNIFICA RÁPIDO?"
'Ejemplo en Visual Basic UCase ( "¿Wiki significa rápido?" ) ' "¿WIKI SIGNIFICA RÁPIDO?"
podar
trim
o strip
se utiliza para eliminar los espacios en blanco del principio, el final o el principio y el final de una cadena.
Uso de ejemplo | Idiomas |
---|---|
String.Trim([chars]) | C # , VB.NET , Windows PowerShell |
string.strip(); | D |
(.trim string) | Clojure |
sequence [ predicate? ] trim | Factor |
(string-trim '(#\Space #\Tab #\Newline) string) | Lisp común |
(string-trim string) | Esquema |
string.trim() | Java , JavaScript (1.8.1+, Firefox 3.5+), Rust [52] |
Trim(String) | Pascal , [53] QBasic , Visual Basic , Delphi |
string.strip() | Pitón |
strings.Trim(string, chars) | Ir |
LTRIM(RTRIM(String)) | Oracle SQL , T-SQL |
strip(string [,option, char]) | REXX |
string:strip(string [,option, char]) | Erlang |
string.strip or string.lstrip or string.rstrip | Rubí |
string.trim | Raku |
trim(string) | PHP , Raku |
[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] | Objective-C usando Cocoa |
string withBlanksTrimmed | Smalltalk (Squeak, Pharo) Smalltalk |
strip(string) | SAS |
string trim $string | Tcl |
TRIM(string) or TRIM(ADJUSTL(string)) | Fortran |
TRIM(string) | SQL |
TRIM(string) or LTrim(string) or RTrim(String) | Fusión fría |
String.trim string | OCaml 4+ |
Otros idiomas
En idiomas sin una función de recorte incorporada, suele ser sencillo crear una función personalizada que realice la misma tarea.
APL
APL puede usar expresiones regulares directamente:
Recortar ← '^ + | + $ ' ⎕R ' '
Alternativamente, un enfoque funcional que combina máscaras booleanas que filtran los espacios iniciales y finales:
Recortar ← { ⍵ / ⍨ ( ∨ \ ∧ ∘ ⌽∨ \ ∘ ⌽ ) '' ≠ ⍵ }
O invierta y elimine los espacios iniciales, dos veces:
Recortar ← { ( ∨ \ '' ≠ ⍵ ) / ⍵ } ∘ ⌽ ⍣ 2
AWK
En AWK , se pueden usar expresiones regulares para recortar:
ltrim ( v ) = gsub ( / ^ [\ t] + / , "" , v ) rtrim ( v ) = gsub ( / [\ t] + $ / , "" , v ) trim ( v ) = ltrim ( v ); rtrim ( v )
o:
función ltrim ( s ) { sub ( / ^ [\ t] + / , "" , s ); return s } función rtrim ( s ) { sub ( / [\ t] + $ / , "" , s ); return s } función trim ( s ) { return rtrim ( ltrim ( s )); }
C / C ++
No hay una función de recorte estándar en C o C ++. La mayoría de las bibliotecas de cadenas disponibles [54] para C contienen código que implementa el recorte o funciones que facilitan significativamente una implementación eficiente. La función también se ha denominado a menudo EatWhitespace en algunas bibliotecas C no estándar.
En C, los programadores a menudo combinan ltrim y rtrim para implementar trim:
#include #include void rtrim ( char * str ) { char * s ; s = str + strlen ( str ); while ( - s > = str ) { if ( ! isspace ( * s )) break ; * s = 0 ; } }void ltrim ( char * str ) { size_t n ; n = 0 ; while ( str [ n ] ! = '\ 0' && isspace (( unsigned char ) str [ n ])) { n ++ ; } memmove ( str , str + n , strlen ( str ) - n + 1 ); } recorte vacío ( char * str ) { rtrim ( str ); ltrim ( str ); }
La biblioteca de código abierto C ++ Boost tiene varias variantes de recorte, incluida una estándar: [55]
#include recortado = impulso :: algoritmo :: trim_copy ( "cadena" );
Tenga en cuenta que con la función boost llamada simplemente, trim
la secuencia de entrada se modifica en el lugar y no devuelve un resultado.
Otra biblioteca C ++ de código abierto, Qt, tiene varias variantes de recorte, incluida una estándar: [56]
#include recortado = s . recortado ();
El kernel de Linux también incluye una función strip strstrip()
, desde 2.6.18-rc1, que recorta la cadena "en su lugar". Desde 2.6.33-rc1, el kernel utiliza en strim()
lugar de strstrip()
evitar falsas advertencias. [57]
Haskell
Un algoritmo de recorte en Haskell :
importar Data.Char ( isSpace ) trim :: String -> String trim = f . f donde f = inversa . dropWhile isSpace
se puede interpretar de la siguiente manera: f elimina el espacio en blanco anterior e invierte la cadena. A continuación, f se aplica de nuevo a su propia salida. Tenga en cuenta que la firma de tipo (la segunda línea) es opcional.
J
El algoritmo de recorte en J es una descripción funcional :
recortar =. # ~ [: ( +. / \ *. +. / \. ) '' & ~:
Es decir: filter ( #~
) para caracteres sin espacios ( ' '&~:
) entre espacios iniciales ( ) +./\
y ( *.
) finales ( +./\.
).
JavaScript
Hay una función de recorte incorporada en JavaScript 1.8.1 (Firefox 3.5 y posterior) y el estándar ECMAScript 5. En versiones anteriores, se puede agregar al prototipo del objeto String de la siguiente manera:
Cadena . prototipo . trim = function () { devuelve esto . reemplace ( / ^ \ s + / g , "" ). reemplazar ( / \ s + $ / g , "" ); };
Perl
Perl 5 no tiene función de recorte incorporada. Sin embargo, la funcionalidad se logra comúnmente mediante expresiones regulares .
Ejemplo:
$ cadena = ~ s / ^ \ s + // ; # eliminar los espacios en blanco iniciales $ string = ~ s / \ s + $ // ; # eliminar los espacios en blanco finales
o:
$ cadena = ~ s / ^ \ s + | \ s + $ // g ; # eliminar los espacios en blanco iniciales y finales
Estos ejemplos modifican el valor de la variable original $string
.
También disponible para Perl es StripLTSpace en String::Strip
desde CPAN .
Sin embargo, hay dos funciones que se usan comúnmente para quitar los espacios en blanco del final de las cadenas chomp
y chop
:
chop
elimina el último carácter de una cadena y lo devuelve.chomp
elimina los caracteres de nueva línea finales de una cadena, si están presentes. (Lo que constituye una nueva línea depende de $ INPUT_RECORD_SEPARATOR ).
En Raku , el próximo idioma hermano de Perl, las cadenas tienen un trim
método.
Ejemplo:
$ cadena = $ cadena . recortar ; # eliminar los espacios en blanco iniciales y finales $ string . = trim ; # la misma cosa
Tcl
El Tcl string
comando tiene tres subcomandos relevantes: trim
, trimright
y trimleft
. Para cada uno de esos comandos, se puede especificar un argumento adicional: una cadena que representa un conjunto de caracteres para eliminar; el valor predeterminado es un espacio en blanco (espacio, tabulación, nueva línea, retorno de carro).
Ejemplo de recorte de vocales:
conjunto de cuerdas onomatopeyas conjunto recortado [ cadena de ajuste $ string aeiou ] ; # el resultado es nomatop set r_trimmed [ string trimright $ string aeiou ] ; # el resultado es un conjunto de onomatop l_trimmed [ string trimleft $ string aeiou ] ; # resultado es nomatopeya
XSLT
XSLT incluye la función que elimina los espacios en blanco iniciales y finales, además de reemplazar cualquier secuencia de espacios en blanco (incluidos los saltos de línea) con un solo espacio.normalize-space(string)
Ejemplo:
name = 'trimmed' > select = 'normalize-space (string)' />
XSLT 2.0 incluye expresiones regulares, lo que proporciona otro mecanismo para realizar el recorte de cuerdas.
Otra técnica XSLT para recortar es utilizar la substring()
función XPath 2.0 .
Referencias
- ^ a b c d e el índice puede ser negativo, lo que indica el número de lugares antes del final de la cadena.
- ^ En Rust, elstr::charsmétodo itera sobre puntos de código y elstd::iter::Iterator::nthmétodo en iteradores devuelve el n-ésimo valor indexado a cero del iterador, oNone.
- ^ el índice no puedeser negativo, use * -N donde N indica el número de lugares antes del final de la cadena.
- ^ En C ++, el sobrecargadooperator<=>método en un string devuelve unstd::strong_orderingobjeto (de lo contrario
std::weak_ordering
):less
,equal
(igual queequivalent
), ogreater
. - ^ devuelve MENOS, IGUAL o MAYOR
- ^ devuelve LT, EQ o GT
- ^ devuelve
.TRUE.
o.FALSE.
. Estas funciones se basan en la secuencia de clasificación ASCII. - ^ a b Extensión de IBM.
- ^ En Rust, elOrd::cmpmétodo en una cadena devuelve unOrdering:
Less
,Equal
oGreater
. - ^ Un b c d e f En Rust, los operadores
==
y!=
y los métodoseq
,ne
se implementan por el PartialEqrasgo, y los operadores<
,>
,<=
,>=
y los métodoslt
,gt
,le
,ge
son implementadas por el PartialOrdrasgo. - ^ Los operadores utilizan la secuencia de clasificación predeterminada del compilador.
- ^ modifica, que debe tener suficiente espacio para almacenar el resultado
string1
- ^ En Rust, el
+
operador es implementado por elAddrasgo. - ^ Ver elstr::containsmétodo.
- ^ Ver elstd::basic_string::containsmétodo.
- ^ a b startpos es una extensión de IBM.
- ^ a b Vea el str::findmétodo.
- ^
startpos
es la extensión de IBM. - ^ "escanear en Fortran Wiki" . Fortranwiki.org. 2009-04-30 . Consultado el 18 de agosto de 2013 .
- ^ "verificar en Fortran Wiki" . Fortranwiki.org. 2012-05-03 . Consultado el 18 de agosto de 2013 .
- ^
formatstring
debe ser un literal fijo en tiempo de compilación para que tenga el tipo correcto. - ^ Veastd::format, que es importado por el preludio de Rustpara que pueda usarse bajo el nombre
format
. - ^ Ver elslice::joinmétodo.
- ^ si n es mayor que la longitud de la cadena, en el modo de depuración se lanza ArrayRangeException, en el modo de lanzamiento, el comportamiento no está especificado .
- ^ si n es mayor que la longitud de la cadena, Java lanzará una IndexOutOfBoundsException
- ^ a b si n es mayor que la longitud de la cadena, genera Invalid_argument
- ^ a b si n es mayor que la longitud de la cadena, lanza el mensaje "StringTake :: take:"
- ^ a b c En Rust, las cadenas se indexan en términos de compensaciones de bytes y hay un pánico en tiempo de ejecución si el índice está fuera de los límites o si daría como resultado un UTF-8 no válido . Una
&str
(referencia de cadena) puede indexarse mediante varios tipos de rangos, incluidos Range(0..n
), RangeFrom(n..
) y RangeTo(..n
) porque todos implementan el SliceIndexrasgo destr
ser el tipo que se indexa. El str::getmétodo es la forma sin pánico de indexar. Vuelve Noneen los casos en los que la indexación entraría en pánico. - ^ Ruby carece de soporte Unicode
- ^ Ver elstr::lenmétodo.
- ^ En Rust, elstr::charsmétodo itera sobre puntos de código y elstd::iter::Iterator::countmétodo en iteradores consume el iterador y devuelve el número total de elementos en el iterador.
- ^ opera en un carácter
- ^ a b La
transform
función existe en elstd::
espacio de nombres. Debe incluir el
archivo de encabezado para usarlo. Las funcionestolower
ytoupper
están en el espacio de nombres global, obtenido por el
archivo de encabezado. Los nombresstd::tolower
ystd::toupper
están sobrecargados y no se pueden pasarstd::transform
sin una conversión para resolver una función que sobrecarga la ambigüedad, p. Ej.std::transform(string.begin(), string.end(), result.begin(), (int (*)(int))std::tolower);
- ^
std::string
solamente, el resultado se almacena en una cadenaresult
que es al menos tan larga comostring
, y puede o no ser lastring
misma - ^ a b solo caracteres ASCII ya que Ruby carece de soporte Unicode
- ^ Ver elstr::to_lowercasemétodo.
- ^ Ver elstr::replacemétodo.
- ^ a b c d e La cadena "buscar" en esta construcción se interpreta como una expresión regular . Ciertos caracteres tienen un significado especial en las expresiones regulares. Si desea encontrar una cadena literalmente, debe citar los caracteres especiales.
- ^ el tercer parámetro no es estándar
- ^ En Rust, elstr::charsmétodo itera sobre puntos de código, elstd::iter::Iterator::revmétodo en iteradores reversibles (std::iter::DoubleEndedIterator) crea un iterador invertido y elstd::iter::Iterator::collectmétodo consume el iterador y crea una colección (que aquí se especifica como aStringcon lasintaxis turbofish ) a partir de los elementos del iterador.
- ^ Ver elstr::rfindmétodo.
- ^ "ES5 anotado" . Es5.github.com . Consultado el 18 de agosto de 2013 .
- ^ si n es mayor que la longitud de la cadena, en el modo de depuración se lanza una ArrayRangeException y un comportamiento no especificado en el modo de lanzamiento
- ^ Consulte losmétodosstr::splitystr::rsplit.
- ^ a b c d e f g
startpos
puede ser negativo, lo que indica comenzar ese número de lugares antes del final de la cadena. - ^ a b
numChars
puede ser negativo, lo que indica terminar ese número de lugares antes del final de la cadena. - ^ no
startpos
puedeser negativo, use * - startpos para indicar que debe comenzar ese número de lugares antes del final de la cadena. - ^ no
numChars
puedeser negativo, use * - numChars para indicar que finaliza ese número de lugares antes del final de la cadena. - ^ a b c d e
endpos
puede ser negativo, lo que indica terminar ese número de lugares antes del final de la cadena. - ^
std::string
solamente, el resultado se almacena en el resultado de una cadenaque es al menos tan larga como una cadena , y puede o no ser una cadena en sí misma - ^ En Rust, elstr::to_uppercasemétodo devuelve un nuevo asignadoStringcon los caracteres en minúscula cambiados a mayúsculas siguiendo las reglas Unicode.
- ^ En Rust, elstr::trimmétodo devuelve una referencia al original
&str
. - ^ "Recorte - GNU Pascal priručnik" . Gnu-pascal.de . Consultado el 24 de agosto de 2013 .
- ^ "Comparación de la biblioteca de cadenas" . And.org . Consultado el 24 de agosto de 2013 .
- ^ "Uso - 1.54.0" . Boost.org. 2013-05-22 . Consultado el 24 de agosto de 2013 .
- ^ [1] Archivado el 2 de agosto de 2009 en la Wayback Machine.
- ^ dankamongmen. "sprezzos-kernel-packaging / changelog en master · dankamongmen / sprezzos-kernel-packaging · GitHub" . Github.com . Consultado el 29 de mayo de 2016 .