Anterior: Funções e Variáveis para caracteres, Acima: stringproc [Conteúdo][Índice]
Converte uma seqüência de caracteres do Lisp em uma seqüência de caracteres do Maxima. (Em geral você pode não precisar dessa função.)
Retorna true
se obj is uma seqüência de caracteres do Lisp.
(Em geral você pode não precisar dessa função.)
Retorna true
se obj for uma seqüê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) charat("Lisp",1); (%o1) L
Retorna a lsita de todos os caracteres em seq_caracte.
(%i1) charlist("Lisp"); (%o1) [L, i, s, p] (%i2) %[1]; (%o2) 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) 2*parsetoken("1.234 5.678"); (%o1) 2.468
Para analizar você pode também usar a função parse_string
.
Veja a descrição no arquivo ’share\contrib\eval_string.lisp’.
Avalia seus argumentos e concatena-os em uma seqüência de caracteres.
sconc
é como sconcat
mas retorna uma seqüência de caracteres do Maxima.
(%i1) sconc("xx[",3,"]:",expand((x+y)^3)); (%o1) xx[3]:y^3+3*x*y^2+3*x^2*y+x^3 (%i2) stringp(%); (%o2) true
Retorna uma cópia de seq_caracte como uma nova seqüê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 seqüência de caracteres.
Se nenhum delimitador delim for usado, simplode
funciona como sconc
e não utiliza delimitador.
delim pode ser qualquer seqüência de caracteres.
(%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.
Retorna uma seqüência de caracteres que é uma concatenação de substring (seq_caracte, 1, pos - 1)
,
a seqüê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) s: "A submarine."$ (%i2) sconc( substring(s,1,3),"yellow ",substring(s,3) ); (%o2) A yellow submarine. (%i3) sinsert("hollow ",s,3); (%o3) A hollow submarine.
Retorna seq_caracte exceto 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) sinvertcase("sInvertCase"); (%o1) SiNVERTcASE
Retorna número de caracteres em seq_caracte.
Retorna uma nova seqüência de caracteres repetindo num vezes caractere.
(%i1) smake(3,"w"); (%o1) 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) smismatch("seven","seventh"); (%o1) 6
Retorna a lista de todas as fichas em seq_caracte.
Cada ficha é uma seqüê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) 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]
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 seqüência de caracteres como seq_caracte mas com todas as subseqüê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) sremove("n't","I don't like coffee."); (%o1) I do like coffee. (%i2) sremove ("DO ",%,'sequalignore); (%o2) I like coffee.
Como em sremove
exceto qie a primeira subseqüência de caracteres que coincide com seq
é removida.
Retorna uma seqüência de caracteres com todos os caracteres de seq_caracte em ordem reversa.
Retorna a posição da primeira subseqüência de caracteres de seq_caracte que coincide com a seqüê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 caractere em seq_caracte está na posição 1.
(%i1) ssearch("~s","~{~S ~}~%",'sequalignore); (%o1) 4
Retorna uma seqüê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) ssort("I don't like Mondays."); (%o1) '.IMaddeiklnnoosty (%i2) ssort("I don't like Mondays.",'cgreaterpignore); (%o2) ytsoonnMlkIiedda.'
Retorna uma seqüência de caracteres como seq_caracte exceto que todas as subseqüê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) 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.
Como em subst
exceto que somente a primeira subseqüência de caracteres que coincidir com antiga é substituída.
Retorna uma seqüência de caracteres como seq_caracte, mas com todos os caracteres que aparecerem em seq removidos de ambas as extremidades.
(%i1) "/* comment */"$ (%i2) strim(" /*",%); (%o2) comment (%i3) slength(%); (%o3) 7
Como em strim
exceto que somente a extremidade esquerda de seq_caracte é recordada.
Como em strim
exceto que somente a extremidade direita de seqüência de caracteres é recortada.
Retorna a subseqüê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 subseqüência de caracteres contém o restante da seqüência de caracteres. Note que o primeiro caractere em seq_caracte está na posição 1.
(%i1) substring("substring",4); (%o1) string (%i2) substring(%,4,6); (%o2) in
Retorna seq_caracte exceto 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 caixa 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")$ (%i1) supcase("english",1,2); (%o1) English
Retorna uma lista de fichas, que tiverem sido extrídos de seq_caracte.
As fichas são subseqüê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ções de teste.
(A verão Lisp de tokens
é escrita por Paul Graham. ANSI Common Lisp, 1996, page 67.)
(%i1) tokens("24 October 2005"); (%o1) [24, October, 2005] (%i2) tokens("05-10-24",'digitcharp); (%o2) [05, 10, 24] (%i3) map(parsetoken,%); (%o3) [5, 10, 24]
Anterior: Funções e Variáveis para caracteres, Acima: stringproc [Conteúdo][Índice]