Previous: Definições para caracteres, Acima: stringproc [Conteúdo][Índice]
Converte uma sequência de caracteres do Lisp em uma sequência de caracteres do Maxima. (Em geral, pode não chegar a precisar dessa função.)
Retorna true se obj is uma sequência de caracteres do Lisp.
(Em geral, pode não chegar a precisar dessa função.)
Retorna true se obj for uma sequência de caracteres do Maxima.
Veja a introdução para obter exemplos.
Retorna o n-ésimo caractere de seq_caracte. O primeiro caractere em seq_caracte é retornado com n = 1.
(%i1) load("stringproc")$
(%i2) charat("Lisp",1);
(%o2) L
Retorna a lsita de todos os caracteres em seq_caracte.
(%i1) load("stringproc")$
(%i2) charlist("Lisp");
(%o2) [L, i, s, p]
(%i3) %[1];
(%o3) L
parsetoken converte a primeira ficha em seq_caracte para o correspondente número ou retorna false se o número não puder ser determinado.
O conjunto de delimitadores para a troca de fichas é {space, comma, semicolon, tab, newline}
Nota de tradução: espaço, vírgula, ponto e vírgula, tabulação e nova linha.
(%i1) load("stringproc")$
(%i2) 2*parsetoken("1.234 5.678");
(%o2) 2.468
Para analizar, pode também usar a função parse_string.
Veja a descrição no ficheiro ’share\contrib\eval_string.lisp’.
Avalia seus argumentos e concatena-os em uma sequência de caracteres.
sconc é como sconcat mas retorna uma sequência de caracteres do Maxima.
(%i1) load("stringproc")$
(%i2) sconc("xx[",3,"]:",expand((x+y)^3));
(%o2) xx[3]:y^3+3*x*y^2+3*x^2*y+x^3
(%i3) stringp(%);
(%o3) true
Retorna uma cópia de seq_caracte como uma nova sequência de caracteres.
Como em supcase, mas caracteres em caixa alta são convertidos para caracteres em caixa baixa.
Retorna true se seq_caracte__1 e seq_caracte__2 tiverem o mesmo comprimento e contiverem os mesmos caracteres.
Como em sequal mas igonara a caixa alta/baixa.
sexplode é um apelido para a função charlist.
simplode takes uma lista ou expressões e concatena-as em uma sequência de caracteres.
Se nenhum delimitador delim for usado, simplode funciona como sconc e não utiliza delimitador.
delim pode ser qualquer sequência de caracteres.
(%i1) load("stringproc")$
(%i2) simplode(["xx[",3,"]:",expand((x+y)^3)]);
(%o2) xx[3]:y^3+3*x*y^2+3*x^2*y+x^3
(%i3) simplode( sexplode("stars")," * " );
(%o3) s * t * a * r * s
(%i4) simplode( ["One","more","coffee."]," " );
(%o4) One more coffee.
Retorna uma sequência de caracteres que é uma concatenação de substring (seq_caracte, 1, pos - 1),
a sequência de caracteres seq e substring (seq_caracte, pos).
Note que o primeiro caractere está em seq_caracte e está na posição 1.
(%i1) load("stringproc")$
(%i2) s: "A submarine."$
(%i3) sconc( substring(s,1,3),"yellow ",substring(s,3) );
(%o3) A yellow submarine.
(%i4) sinsert("hollow ",s,3);
(%o4) A hollow submarine.
Retorna seq_caracte excepto que cada caractere da posição início até a posição fim está invertido. Se a posição fim não for fornecida, todos os caracteres do início ao fim de seq_caracte são substituídos.
(%i1) load("stringproc")$
(%i2) sinvertcase("sInvertCase");
(%o2) SiNVERTcASE
Retorna número de caracteres em seq_caracte.
Retorna uma nova sequência de caracteres repetindo num vezes caractere.
(%i1) load("stringproc")$
(%i2) smake(3,"w");
(%o2) www
Retorna a posição do primeiro caractere de seq_caracte__1 no qual seq_caracte__1 e seq_caracte__2 diferem ou false em caso contrário.
A função padrao de teste para coincidência é sequal.
Se smismatch pode ignorar a caixa alta/baixa, use sequalignore como função de teste.
(%i1) load("stringproc")$
(%i2) smismatch("seven","seventh");
(%o2) 6
Retorna a lista de todas as fichas em seq_caracte.
Cada ficha é uma sequência de caracteres não analisada.
split usa delim como delimitador.
Se delim não for fornecido, o caractere de espaço é o delimitador padrão.
multiple é uma variável booleana com true como valor padrão.
Multiplos delimitadores são lidos como um.
Essa função é útil se tabulações são gravadas com caracteres de espaço multiplos.
Se multiple for escolhido para false, cada delimitador é considerado.
(%i1) load("stringproc")$
(%i2) split("1.2 2.3 3.4 4.5");
(%o2) [1.2, 2.3, 3.4, 4.5]
(%i3) split("first;;third;fourth",";",false);
(%o3) [first, , third, fourth]
Retorna a posição do primeiro caractere em seq_caracte que coincide com caractere.
O primeiro caractere em seq_caracte está na posição 1.
Para que os caracteres que coincidirem desconsiderem a caixa alta/baixa veja ssearch.
Retorna uma sequência de caracteres como seq_caracte mas com todas as subsequências de caracteres que coincidirem com seq.
A função padrão de teste de coincidência é sequal.
Se sremove puder ignorar a caixa alta/baixa enquanto busca por seq, use sequalignore como teste.
Use início e fim para limitar a busca.
Note que o primeiro caractere em seq_caracte está na posição 1.
(%i1) load("stringproc")$
(%i2) sremove("n't","I don't like coffee.");
(%o2) I do like coffee.
(%i3) sremove ("DO ",%,'sequalignore);
(%o3) I like coffee.
Como em sremove excepto que a primeira subsequência de caracteres que coincide com seq é removida.
Retorna uma sequência de caracteres com todos os caracteres de seq_caracte em ordem reversa.
Retorna a posição da primeira subsequência de caracteres de seq_caracte que coincide com a sequência de caracteres seq.
A função padrão de teste de coincidência é sequal.
Se ssearch puder igonorar a caixa alta/baixa, use sequalignore como função de teste.
Use início e fim para limitar a busca.
Note que o primeiro caracter em seq_caracte está na posição 1.
(%i1) ssearch("~s","~{~S ~}~%",'sequalignore);
(%o1) 4
Retorna uma sequência de caracteres que contém todos os caracteres de seq_caracte em uma ordem tal que não existam dois caracteres c sucessivos e d seja tal que test (c, d) seja false e test (d, c) seja true.
A função padrão de teste para ordenação é clessp.
O conjunto de funções de teste é {clessp, clesspignore, cgreaterp, cgreaterpignore, cequal, cequalignore}.
(%i1) load("stringproc")$
(%i2) ssort("I don't like Mondays.");
(%o2) '.IMaddeiklnnoosty
(%i3) ssort("I don't like Mondays.",'cgreaterpignore);
(%o3) ytsoonnMlkIiedda.'
Retorna uma sequência de caracteres como seq_caracte excepto que todas as subsequências de caracteres que coincidirem com antiga são substituídas por nova.
antiga e nova não precisam ser de mesmo comprimento.
A função padrão de teste para coincidência é para coincidências é sequal.
Se ssubst puder ignorar a cixa alta/baixa enquanto procurando por antiga, use sequalignore como função de teste.
Use início e fim para limitar a busca.
Note que o primeiro caractere em seq_caracte está na posição 1.
(%i1) load("stringproc")$
(%i2) ssubst("like","hate","I hate Thai food. I hate green tea.");
(%o2) I like Thai food. I like green tea.
(%i3) ssubst("Indian","thai",%,'sequalignore,8,12);
(%o3) I like Indian food. I like green tea.
Como em subst excepto que somente a primeira subsequência de caracteres que coincidir com antiga é substituída.
Retorna uma sequência de caracteres como seq_caracte, mas com todos os caracteres que aparecerem em seq removidos de ambas as extremidades.
(%i1) load("stringproc")$
(%i2) "/* comment */"$
(%i3) strim(" /*",%);
(%o3) comment
(%i4) slength(%);
(%o4) 7
Como em strim excepto que somente a extremidade esquerda de seq_caracte é recordada.
Como em strim excepto que somente a extremidade direita de sequência de caracteres é recortada.
Retorna a subsequência de caracteres de seq_caracte começando na posição início e terminando na posição fim. O caractere na posição fim não é incluído. Se fim não for fornecido, a subsequência de caracteres contém o restante da sequência de caracteres. Note que o primeiro caractere em seq_caracte está na posição 1.
(%i1) load("stringproc")$
(%i2) substring("substring",4);
(%o2) string
(%i3) substring(%,4,6);
(%o3) in
Retorna seq_caracte excepto que caracteres em caixa baixa a partir da posição início até a posição fim são substituídos pelo correspondente caracteres em cixa alta. Se fim não for fornecido, todos os caracteres em caixa baixa de início até o fim de seq_caracte são substituídos.
(%i1) load("stringproc")$
(%i2) supcase("english",1,2);
(%o2) English
Retorna uma lista de fichas, que tiverem sido extrídos de seq_caracte.
As fichas são subsequências de caracteres cujos caracteres satisfazem a uma determinada função de teste.
Se o teste não for fornecido, constituent é usada como teste padrão.
{constituent, alphacharp, digitcharp, lowercasep, uppercasep, charp, characterp, alphanumericp} é o conjunto de fnç~oes de teste.
(A versão Lisp de tokens é escrita por Paul Graham. ANSI Common Lisp, 1996, page 67.)
(%i1) load("stringproc")$
(%i2) tokens("24 October 2005");
(%o2) [24, October, 2005]
(%i3) tokens("05-10-24",'digitcharp);
(%o3) [05, 10, 24]
(%i4) map(parsetoken,%);
(%o4) [5, 10, 24]
Previous: Definições para caracteres, Acima: stringproc [Conteúdo][Índice]