Aller au contenu

Module:str

Définition, traduction, prononciation, anagramme et synonyme sur le dictionnaire libre Wiktionnaire.

Documentation[voir] [modifier] [historique] [purger]

Usage

Ce module permet d’employer les fonctions de lalibrairie Ustring de l’extension Scribunto.


Fonction utilisable dans un modèle ou dans une page:

codepoint(frame)
utilisé dans{{point de code}}.
find(frame)
utilisé dans{{str find}}.
format(frame)
utilisé dans{{printf}}.
gmatch(frame)
utilisé dans{{gmatch}}.
gsub(frame)
utilisé dans{{gsub}}.
len(frame)
utilisé dans{{str len}}.
non_latin(frame)
utilisé dans{{italique}}.
sans_balise(frame)
utilisé dans{{sans balise}}.
sub(frame)
utilisé dans{{str sub}}.
supprimer_p(frame)
utilisé dans{{supprimer p}}.
ucfirstall(frame)
utilisé dans{{ucfirstall}}.

localp={}

functionp.len(frame)
localstring=frame.args[1]or''
returnmw.ustring.len(mw.text.trim(string))
end

functionp.sub(frame)
localargs=frame.args
localstring=args[1]or''
localstart=(tonumber(args[2])or0)+1
locallength=tonumber(args[3])or0
iflength<=0thenreturn''
else
returnmw.ustring.sub(mw.text.trim(string),start,start+length-1)
end
end

functionp.find(frame)
localargs=frame.args
localfirst,last=mw.ustring.find(mw.text.trim(args[1]),args[2],1,true)
iffirstandfirst<=lastthenreturnfirst
elsereturn''
end
end

functionp.char(frame)
returnmw.ustring.char(frame.args[1])
end

functionp.codepoint(frame)
localstr=frame.args[1]or""
localformat=frame.args["format"]or"%d"
str=mw.ustring.gsub(str,"(.)",
function(caractere)
returnmw.ustring.format(format,mw.ustring.codepoint(caractere))
end)
returnstr
end

functionp.gsub(frame)
localargs
ifframe.args["direct"]then
args=frame.args
else
args=frame:getParent().args
end
ifargs[3]andargs[4]then
localtable={}
locali=3
repeat
table[args[i]]=args[i+1]
i=i+2
untilnot(args[i]andargs[i+1])
-- étrangement, un chiffre dans une table ne marche pas avec mw.ustring.gsub
return(mw.ustring.gsub(args[1]or"",args[2]or"",function(x)returntable[x]end))-- parenthèses nécessaires
else
return(mw.ustring.gsub(args[1]or"",args[2]or"",args[3]or""))-- parenthèses nécessaires
end
end

functionp.gmatch(frame)
localstr=''
forpatterninmw.ustring.gmatch(frame.args[1],frame.args[2])do
str=str..pattern
end
returnstr
end

functionp.sans_balise(frame)
localstr=frame.args[1]or""
str=mw.ustring.gsub(str,"<ruby[^>]->(.-)</ruby[^>]->",
function(chars)
chars=mw.ustring.gsub(chars,"<r[tp][^>]->(.-)</r[tp][^>]->","")
returnchars
end)
str=mw.ustring.gsub(str,"<[^>]*>","")
str=mw.ustring.gsub(str,"'''?","")
str=mw.ustring.gsub(str,"%[%[(.-)%]%]",
function(chars)
chars=mw.ustring.gsub(chars,".-%|","")
returnchars
end)
returnstr
end

functionp.format(frame)
localformat=frame.args[1]or""
-- au plus 4 valeurs maintenant
returnmw.ustring.format(format,frame.args[2],frame.args[3],frame.args[4],frame.args[5])
end

functionp.liste_de_domaines(frame)
localstr=frame.args[1]or""
localou=frame.args["ou"]or""
str=mw.ustring.gsub(str,"%)''([^']*)$","%1")
str=mw.ustring.gsub(str,"%)''",",")
str=mw.ustring.gsub(str,"''%(","")
ifou~=""then
str=mw.ustring.gsub(str,",([^,]*)$","ou %1")
end
return"''("..str..")''"
end

functionp.ucfirstall(frame)
localstr=frame.args[1]or""
str=mw.ustring.gsub(str,"^%S",mw.ustring.upper)
str=mw.ustring.gsub(str,"%s%S",mw.ustring.upper)
returnstr
end

functionp.supprimer_p(frame)
localstr=frame.args[1]or""
str=mw.ustring.gsub(str,"^</?p>\n?","&#32;\n")
str=mw.ustring.gsub(str,"</?p>","<br />")
returnstr
end

functionp.non_latin(frame)
localstr=frame.args[1]or''
str=mw.text.decode(str,true)
str=mw.ustring.lower(mw.ustring.gsub(mw.ustring.toNFD(str),"[^%w]",""))
str=mw.ustring.gsub(str,"[!-˿Ḁ-ỿ]","")-- U+0021-02FF, U+1E00-1EFF
returnstr
end

returnp