Módulo:String
A documentação para este módulo pode ser editada em Módulo:String/doc.
Função length
editar{{#invoke:String|length|1=string}} ou {{#invoke:String|length|string}}
Recebe uma string como argumento e devolve o seu comprimento. Em particular, se a string fornecida é vazia, retorna 0.
{{#invoke:String|length|}}
→ 0{{#invoke:String|length| }}
→ 1{{#invoke:String|length|carro}}
→ 5{{#invoke:String|length|carroça}}
→ 7{{#invoke:String|length| 1234567}}
→ 8{{#invoke:String|length| ab cde}}
→ 7{{#invoke:String|length|borracheiro}}
→ 11{{#invoke:String|length| café åäö}}
→ 9{{#invoke:String|length|paralelepípedo}}
→ 14
- Ver também
- mw.ustring.len
Função substring
editar{{#invoke:String|substring|1=string|2=índice_inicial|3=índice_final}} ou {{#invoke:String|substring|string|índice_inicial|índice_final}}
Recebe uma string e dois inteiros como argumentos e devolve uma substring da string de entrada. O primeiro inteiro é o índice no qual começa a substring e o segundo o índice no qual termina. Da esquerda para a direita, o primeiro caractere da string fornecida está na posição de índice 1; o segundo (se existir) na posição de índice 2; etc. E, da direita para a esquerda, o último caractere da string pode ser referenciado pelo índice -1; o penúltimo (se a string possuir mais do que um caractere) pelo índice -2; o ante-penúltimo, se existir, -3; etc. Por omissão, o índice inicial (parâmetro 2) tem valor 1 (primeiro caractere da string) e o índice final valor -1 (último caractere), de modo que, por omissão desses índices, é devolvida na saída a string de entrada.
{{#invoke:String|substring|}}
→{{#invoke:String|substring| }}
→{{#invoke:String|substring|carroça}}
→ carroça{{#invoke:String|substring|carroça|1|5}}
→ carro{{#invoke:String|substring|carroça||5}}
→ carro{{#invoke:String|substring|carroça||}}
→ carroça{{#invoke:String|substring|carroça|4|7}}
→ roça{{#invoke:String|substring|carroça|4}}
→ roça{{#invoke:String|substring|carroça|4|}}
→ roça{{#invoke:String|substring|carroça|4|-1}}
→ roça{{#invoke:String|substring|O rato roeu a roupa do rei de Roma||1}}
→ O{{#invoke:String|substring|O rato roeu a roupa do rei de Roma|1|1}}
→ O{{#invoke:String|substring|O rato roeu a roupa do rei de Roma|3|6}}
→ rato{{#invoke:String|substring|O rato roeu a roupa do rei de Roma|13|13}}
→ a{{#invoke:String|substring|O rato roeu a roupa do rei de Roma|21|22}}
→ do{{#invoke:String|substring|O rato roeu a roupa do rei de Roma|21|-13}}
→ do{{#invoke:String|substring|O rato roeu a roupa do rei de Roma|-14|-13}}
→ do{{#invoke:String|substring|O rato roeu a roupa do rei de Roma|31|34}}
→ Roma{{#invoke:String|substring|O rato roeu a roupa do rei de Roma|31|-1}}
→ Roma{{#invoke:String|substring|O rato roeu a roupa do rei de Roma|31|55}}
→ Roma{{#invoke:String|substring|O rato roeu a roupa do rei de Roma|34|31}}
→
- Ver também
- mw.ustring.sub
Função charAt
editar{{#invoke:String|charAt|1=string|2=índice}} ou {{#invoke:String|charAt|string|índice}}
Recebe uma string e um inteiro (índice) e, na saída, retorna o caractere que ocupa a posição cujo índice foi fornecido. Um índice igual a 1 corresponde ao primeiro caractere; um índice igual a 2, ao segundo (se existir); um índice igual a 3, ao terceiro (se existir) etc. Um índice igual a -1 corresponde ao último caractere da string; um índice igual a -2, ao penúltimo; um índice igual a -3, ao ante-penúltimo; etc. Se o valor absoluto do índice excede o comprimento da string, é retornada uma mensagem de erro informando que o valor fornecido está fora do escopo.
{{#invoke:String|chartAt|}}
→ NULL{{#invoke:String|charAt| }}
→ NULL{{#invoke:String|chartAt|carroça}}
→ NULL{{#invoke:String|charAt|carroça|}}
→ NULL{{#invoke:String|charAt|carroça| }}
→ NULL{{#invoke:String|charAt|carroça|0}}
→ NULL{{#invoke:String|charAt|carroça|1}}
→ c{{#invoke:String|charAt|carroça|2}}
→ a{{#invoke:String|charAt|carroça|3}}
→ r{{#invoke:String|charAt|carroça|5}}
→ o{{#invoke:String|charAt|carroça|6}}
→ ç{{#invoke:String|charAt|carroça|7}}
→ a{{#invoke:String|charAt|carroça|-1}}
→ a{{#invoke:String|charAt|carroça|-2}}
→ ç{{#invoke:String|charAt|carroça|-3}}
→ o{{#invoke:String|charAt|carroça|10}}
→ O índice fornecido está fora do escopo.{{#invoke:String|charAt|carroça|-10}}
→ O índice fornecido está fora do escopo.{{#invoke:String|charAt|0123456789ABCDEF|15}}
→ E{{#invoke:String|charAt|0123456789ABCDEF|-1}}
→ F{{#invoke:String|charAt|0123456789ABCDEF|-2}}
→ E{{#invoke:String|charAt|0123456789ABCDEF|-3}}
→ D{{#invoke:String|charAt|0123456789ABCDEF|18}}
→ O índice fornecido está fora do escopo.{{#invoke:String|charAt|0123456789ABCDEF|-18}}
→ O índice fornecido está fora do escopo.
Função repete
editar{{#invoke:String|repete|1=string|2=n}} ou {{#invoke:String|repete|string|n}}
→ string concatenada n vezes
{{#invoke:String|repete|carro}}
→ O segundo parâmetro fornecido não é um inteiro positivo.{{#invoke:String|repete|carro|}}
→ O segundo parâmetro fornecido não é um inteiro positivo.{{#invoke:String|repete|carro| }}
→ O segundo parâmetro fornecido não é um inteiro positivo.{{#invoke:String|repete|carro|1}}
→ carro{{#invoke:String|repete|carro|8}}
→ carrocarrocarrocarrocarrocarrocarrocarro{{#invoke:String|repete|carro|-5}}
→ O segundo parâmetro fornecido não é um inteiro positivo.{{#invoke:String|repete|<br>|3}}
→{{#invoke:String|repete|Ελλάδα|10}}
→ ΕλλάδαΕλλάδαΕλλάδαΕλλάδαΕλλάδαΕλλάδαΕλλάδαΕλλάδαΕλλάδαΕλλάδα{{#invoke:String|repete|Češi|15}}
→ ČešiČešiČešiČešiČešiČešiČešiČešiČešiČešiČešiČešiČešiČešiČeši
- Ver também
- mw.ustring.rep e
{{repeat}}
Função procura
editar{{#invoke:String|procura|1=texto|2=substring}} ou {{#invoke:String|procura|texto|substring}}
Retorna a posição da primeira ocorrência de substring em texto. Em particular, se substring não é passada ou não encontrada, o retorno é igual a -1.
{{#invoke:String|procura|O rato roeu a roupa do rei de Roma|}}
→ 1{{#invoke:String|procura|O rato roeu a roupa do rei de Roma|O}}
→ 1{{#invoke:String|procura|O rato roeu a roupa do rei de Roma|rato}}
→ 3{{#invoke:String|procura|O rato roeu a roupa do rei de Roma|rato|5}}
→ -1{{#invoke:String|procura|O rato roeu a roupa do rei de Roma|roupa}}
→ 15{{#invoke:String|procura|O rato roeu a roupa do rei de Roma|roupa|10}}
→ 15{{#invoke:String|procura|O rato roeu a roupa do rei de Roma|roupa|15}}
→ 15{{#invoke:String|procura|O rato roeu a roupa do rei de Roma|roupa|20}}
→ -1{{#invoke:String|procura|O rato roeu a roupa do rei de Roma|rei}}
→ 24{{#invoke:String|procura|O rato roeu a roupa do rei de Roma|rei|10}}
→ 24{{#invoke:String|procura|O rato roeu a roupa do rei de Roma|rei|25}}
→ -1{{#invoke:String|procura|O rato roeu a roupa do rei de Roma|Roma}}
→ 31{{#invoke:String|procura|O rato roeu a roupa do rei de Roma|roma}}
→ -1{{#invoke:String|procura|O rato roeu a roupa do rei de Roma|Romeu}}
→ -1
- Ver também
- mw.ustring.find e
{{str find}}
Função remove_first_word
editar{{#invoke:String|remove_first_word|1=texto}} ou {{#invoke:String|remove_first_word|texto}}
Remove a primeira palavra de texto. Por palavras entendem-se sequências de caracteres (strings) separadas por espaços.
{{#invoke:String|remove_first_word|Fôo bår bàz}}
→ bår bàz{{#invoke:String|remove_first_word| Fôo bår bàz }}
→ bår bàz{{#invoke:String|remove_first_word| a b }}
→ b{{#invoke:String|remove_first_word|Fôo-bår}}
→{{#invoke:String|remove_first_word|Fôo-bår bàz}}
→ bàz
Ver também
editar
local p = {}
--função length
function p.length(frame)
local mystring = frame.args[1]
return mw.ustring.len(mystring)
end
--função substring
function p.substring(frame)
local mystring = frame.args[1]
local i = tonumber(frame.args[2]) or 1
local j = tonumber(frame.args[3]) or -1
return mw.ustring.sub(mystring, i, j)
end
--função charAt
function p.charAt(frame)
local mystring = frame.args[1] or ''
local i = tonumber(frame.args[2]) or 0
local stringlength = mw.ustring.len(mystring)
if math.abs(i) > stringlength then
return frame:expandTemplate{ title = 'erro', args = {
'O índice fornecido está fora do escopo.'} }
end
if i == 0 then
return "NULL"
else
return mw.ustring.sub(mystring, i, i)
end
end
--função repete
function p.repete(frame)
local mystring = frame.args[1]
local n = tonumber(frame.args[2])
if (n == nil) or (n < 1) then
return frame:expandTemplate{ title = 'erro', args = {
'O segundo parâmetro fornecido não é um inteiro positivo.'} }
else
return mw.ustring.rep(mystring, n)
end
end
--função procura
function p.procura(frame)
local mystring = frame.args[1]
local substring = frame.args[2]
local i = tonumber(frame.args[3]) or 1
local result = mw.ustring.find(mystring, substring, i, true)
if result == nil then
return -1
else
return result
end
end
--função remove_first_word
function p.remove_first_word(frame)
local mystring = mw.text.trim(frame.args[1])
if mw.ustring.find(mystring," ", 1, true) == nil then
return ""
else
return mw.ustring.sub(mystring, tonumber(mw.ustring.find(mystring," ", 1, true)+1), -1)
end
end
return p