Anterior: 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]
Anterior: Definições para caracteres, Acima: stringproc [Conteúdo][Índice]