Anterior: , Subir: stringproc   [Índice general][Índice]

76.4 Funciones y variables para cadenas

Función: base64 (string)

Devuelve la representación en base 64 de string en formato de cadena de caracteres.

Ejemplo:

(%i1) base64 : base64("foo bar baz");
(%o1)                       Zm9vIGJhciBiYXo=
(%i2) string : base64_decode(base64);
(%o2)                          foo bar baz
Función: base64_decode (base64-string)

Decodifica la cadena de caracteres base64-string, codificada en base 64, y devuelve la cadena original.

Para un ejemplo, véase base64.

Función: charat (string, n)

Devuelve el n-ésimo carácter de string. Al primer carácter de string le corresponde n = 1.

(%i1) charat("Lisp",1);
(%o1)                           L
Función: charlist (string)

Devuelve una lista con todos los caracteres de string.

(%i1) charlist("Lisp");
(%o1)                     [L, i, s, p]
(%i2) %[1];
(%o2)                           L
Función: eval_string (str)

Analiza sintácticamente la cadena str como una expresión de Maxima y la evalúa. La cadena str puede terminar o no con cualquiera de los símbolos de final de sentencia (dólar $ o punto y coma ;). Sólo se analiza la primera expresión si hay más de una.

Se emitirá un mensaje de error si str no es una cadena.

Ejemplos:

(%i1) eval_string ("foo: 42; bar: foo^2 + baz");
(%o1)                       42
(%i2) eval_string ("(foo: 42, bar: foo^2 + baz)");
(%o2)                   baz + 1764

Véase también parse_string.

Función: md5sum (string)

Devuelve, en formato de cadena de caracteres, el resultado de la suma de verificación md5 del argumento string. Para obtener el valor devuelto por la función como número entero, fijar la base numérica de entrada a 16 y a~nadir como prefijo el cero.

Ejemplo:

(%i1) string : md5sum("foo bar baz");
(%o1)                  ab07acbb1e496801937adfa772424bf7
(%i2) ibase : obase : 16.$

(%i3) integer : parse_string(sconcat(0, string));
(%o3)                 0ab07acbb1e496801937adfa772424bf7
Función: parse_string (str)

Analiza sintácticamente la cadena str como una expresión de Maxima, pero no la evalúa. La cadena str puede terminar o no con cualquiera de los símbolos de final de sentencia (dólar $ o punto y coma ;). Sólo se analiza la primera expresión si hay más de una.

Se emitirá un mensaje de error si str no es una cadena.

Ejemplos:

(%i1) parse_string ("foo: 42; bar: foo^2 + baz");
(%o1)                    foo : 42
(%i2) parse_string ("(foo: 42, bar: foo^2 + baz)");
                                   2
(%o2)          (foo : 42, bar : foo  + baz)

Véase también eval_string.

Función: scopy (string)

Devuelve una copia nueva de la cadena string.

Función: sdowncase (string)
Función: sdowncase (string, start)
Función: sdowncase (string, start, end)

Convierte caracteres en minúscula a mayúscula. Véase también supcase.

Función: sequal (string_1, string_2)

Devuelve true si string_1 y string_2 son dos cadenas de caracteres iguales.

Función: sequalignore (string_1, string_2)

Igual que sequal pero no diferencia entre minúsculas y mayúsculas..

Función: sexplode (string)

El nombre sexplode es un seudónimo de la función charlist.

Función: simplode (list)
Función: simplode (list, delim)

La función simplode admite como entrada una lista de expresiones para luego convertirla en una cadena de caracteres. Si no se utiliza la opción delim para indicar el delimitador, entonces simplode no hace uso de ninguno. El valor de delim puede ser cualquier cadena.

(%i1) simplode(["xx[",3,"]:",expand((x+y)^3)]);
(%o1)             xx[3]:y^3+3*x*y^2+3*x^2*y+x^3
(%i2) simplode( sexplode("stars")," * " );
(%o2)                   s * t * a * r * s
(%i3) simplode( ["One","more","coffee."]," " );
(%o3)                   One more coffee.
Función: sinsert (seq, string, pos)

Devuelve la concatenación de las cadenas substring (string, 1, pos - 1), seq y substring (string, pos). Nótese que al primer carácter de string le corresponde la posición 1.

(%i1) s: "A submarine."$
(%i2) concat( substring(s,1,3),"yellow ",substring(s,3) );
(%o2)                  A yellow submarine.
(%i3) sinsert("hollow ",s,3);
(%o3)                  A hollow submarine.
Función: sinvertcase (string)
Función: sinvertcase (string, start)
Función: sinvertcase (string, start, end)

Devuelve la misma cadena string pero con todos sus caracteres desde la posición start hasta end invertidos, esto es, las mayúsculas se convierten en minúsculas y éstas en mayúsculas. Si no se incluye el argumento end, se invierten todos los caracteres desde start hasta el final de la cadena.

(%i1) sinvertcase("sInvertCase");
(%o1)                      SiNVERTcASE
Función: slength (string)

Devuelve el número de caracteres de string.

Función: smake (num, char)

Construye una cadena de longitud num con todos sus caracteres iguales a char.

(%i1) smake(3,"w");
(%o1)                          www
Función: smismatch (string_1, string_2)
Función: smismatch (string_1, string_2, test)

Devuelve la posición del primer carácter de string_1 distinto del correpondiente a string_2. La respuesta será false si no existe tal carácter. Por defecto, la función de comparación es sequal. Si se quiere ignorar la diferencia entre mayúsculas y minúsculas, hágase uso de sequalignore para el argumento test.

(%i1) smismatch("seven","seventh");
(%o1)                           6
Función: split (string)
Función: split (string, delim)
Función: split (string, delim, multiple)

Devuelve la lista de todos los lexemas (tokens) de string. La función split utiliza delim como delimitador, y en caso de no ser utilizado este argumento, será utilizado el espacio en blanco como delimitador por defecto. El argumento multiple es una variable booleana con valor true por defecto. Los delimitadores múltiples se leen como uno solo, lo que resulta de utilidad si las tabulaciones son almacenadas como secuencias de espacios en blanco. Si a multiple se le asigna el valor false, se consirararán todos los delimitadores.

(%i1) split("1.2   2.3   3.4   4.5");
(%o1)                 [1.2, 2.3, 3.4, 4.5]
(%i2) split("first;;third;fourth",";",false);
(%o2)               [first, , third, fourth]
Función: sposition (char, string)

Devuelve la posición del primer carácter de string que coincide con char. Al primer carácter de string le corresponde la posición 1. Para cuando se quiera ignorar la diferencia entre mayúsculas y minúsculas, véase ssearch.

Función: sremove (seq, string)
Función: sremove (seq, string, test)
Función: sremove (seq, string, test, start)
Función: sremove (seq, string, test, start, end)

Devuelve la cadena string pero sin las subcadenas que coinciden con seq. La función de comparación por defecto es sequal. Si se quiere ignorar la diferencia entre mayúsculas y minúsculas, hágase uso de sequalignore para el argumento test. Utilícense start y end para acotar la búsqueda. Al primer carácter de string le corresponde la posición 1.

(%i1) sremove("n't","I don't like coffee.");
(%o1)                   I do like coffee.
(%i2) sremove ("DO ",%,'sequalignore);
(%o2)                    I like coffee.
Función: sremovefirst (seq, string)
Función: sremovefirst (seq, string, test)
Función: sremovefirst (seq, string, test, start)
Función: sremovefirst (seq, string, test, start, end)

Actúa de forma similar a la función sremove, pero sólo elimina la primera aparición de la subcadena seq.

Función: sreverse (string)

Devuelve una cadena con todos los caracteres de string en orden inverso.

Función: ssearch (seq, string)
Función: ssearch (seq, string, test)
Función: ssearch (seq, string, test, start)
Función: ssearch (seq, string, test, start, end)

Devuelve la posición de la primera subcadena de string que coincide con la cadena seq. La función de comparación por defecto es sequal. Si se quiere ignorar la diferencia entre mayúsculas y minúsculas, hágase uso de sequalignore para el argumento test. Utilícense start y end para acotar la búsqueda. Al primer carácter de string le corresponde la posición 1.

(%i1) ssearch("~s","~{~S ~}~%",'sequalignore);
(%o1)                                  4
Función: ssort (string)
Función: ssort (string, test)

Devuelve una cadena con todos los caracteres de string en un orden tal que no haya dos caracteres sucesivos c y d que verifiquen que test (c, d) sea igual false y test (d, c) igual a true. La función de comparación test por defecto es clessp, siendo el conjunto de posibles valores para este argumento {clessp, clesspignore, cgreaterp, cgreaterpignore, cequal, cequalignore}.

(%i1) ssort("I don't like Mondays.");
(%o1)                    '.IMaddeiklnnoosty
(%i2) ssort("I don't like Mondays.",'cgreaterpignore);
(%o2)                 ytsoonnMlkIiedda.'   
Función: ssubst (new, old, string)
Función: ssubst (new, old, string, test)
Función: ssubst (new, old, string, test, start)
Función: ssubst (new, old, string, test, start, end)

Devuelve una cadena similar a string pero en la que aquellas subcadenas coincidentes con old han sido sustituidas por new. Las subcadenas old y new no necesitan ser de la misma longitud. La función de comparación por defecto es sequal. Si se quiere ignorar la diferencia entre mayúsculas y minúsculas durante la búsqueda de old, hágase uso de sequalignore para el argumento test. Utilícense start y end para acotar la búsqueda. Al primer carácter de string le corresponde la posición 1.

(%i1) ssubst("like","hate","I hate Thai food. I hate green tea.");
(%o1)          I like Thai food. I like green tea.
(%i2) ssubst("Indian","thai",%,'sequalignore,8,12);
(%o2)         I like Indian food. I like green tea.
Función: ssubstfirst (new, old, string)
Función: ssubstfirst (new, old, string, test)
Función: ssubstfirst (new, old, string, test, start)
Función: ssubstfirst (new, old, string, test, start, end)

Actúa de forma similar a la función subst, pero sólo hace la sustitución en la primera coincidencia con old.

Función: strim (seq,string)

Devuelve la cadena string pero recortando los caracteres de seq que tuviese en sus extremos.

(%i1) "/* comment */"$
(%i2) strim(" /*",%);
(%o2)                        comment
(%i3) slength(%);
(%o3)                           7
Función: striml (seq, string)

Actúa de forma similar a strim, pero sólo recorta en el extremo final de string.

Función: strimr (seq, string)

Actúa de forma similar a strim, pero sólo recorta en el extremo inicial de string.

Función: stringp (obj)

Devuelve true si obj es una cadena. Véase un ejemplo en la introducción.

Función: substring (string, start)
Función: substring (string, start, end)

Devuelve la subcadena de string que comienza en la posición start y termina en la posición end. El carácter en la posición end no se incluye. En caso de no suministrarse el argumento end, la subcadena se extenderá hasta el final. Al primer carácter de string le corresponde la posición 1.

(%i1) substring("substring",4);
(%o1)                        string
(%i2) substring(%,4,6);
(%o2)                          in
Función: supcase (string)
Función: supcase (string, start)
Función: supcase (string, start, end)

Devuelve la cadena string con todos sus caracteres entre las posiciones start y end en minúscula transformados a mayúscula. En caso de no suministrarse el argumento end, los cambios se extenderán hasta el final.

(%i1) supcase("english",1,2);
(%o1)                        English
Función: tokens (string)
Función: tokens (string, test)

Devuelve la lista de todos los lexemas (tokens) de string. Los lexemas son subcadenas cuyos caracteres satisfacen la condición test. Si no se suministra el argumento test, se utilizará la condición constituent, siendo el conjunto de las otras alternativas {constituent, alphacharp, digitcharp, lowercasep, uppercasep, charp, characterp, alphanumericp}.

(%i1) tokens("24 October 2005");
(%o1)                  [24, October, 2005]
(%i2) tokens("05-10-24",'digitcharp);
(%o2)                     [05, 10, 24]
(%i3) map(parse_string,%);
(%o3)                      [5, 10, 24]

Anterior: , Subir: stringproc   [Índice general][Índice]