Movatterモバイル変換


[0]ホーム

URL:


Zum Inhalt springen
Boarische Wikipedia
Suach

Modul:Str

Aus Wikipedia
VorlagenprogrammierungDiskussionenLuaUnterseiten
ModulDeutschEnglish

Modul:Dokumentation

Diese Seite enthält Code in derProgrammiersprache Lua.EinbindungszahlCirrus

Weiterleitung der Diskussionsseite fehlt
A Weidaloatung mocha

functionescape_lua_regex(str)returnmw.ustring.gsub(str,".",{["%"]="%%";["^"]="%^";["$"]="%$";["."]="%.";["("]="%(";[")"]="%)";["["]="%[";["]"]="%]";["?"]="%?";["*"]="%*";["+"]="%+";["-"]="%-";["\0"]="%z";})endlocalStr={}functionStr.len(frame)returnmw.ustring.len(frame.args[1])endfunctionStr.left(frame)localidx=tonumber(frame.args[2])if(notidx)oridx<1thenreturn""endreturnmw.ustring.sub(frame.args[1],1,idx)endfunctionStr.right(frame)locallaenge=tonumber(frame.args[2])if(notlaenge)orlaenge<1thenreturn""elselaenge=-laengeendreturnmw.ustring.sub(frame.args[1],laenge,-1)endfunctionStr.index(frame)localidx=tonumber(frame.args[2])if(notidx)oridx<1thenreturn""endreturnmw.ustring.sub(frame.args[1],idx,idx)endfunctionStr.sub(frame)localvon=tonumber(frame.args[2])locallaenge=tonumber(frame.args[3])if(notvon)or(notlaenge)thenreturn""endif(von<1)thenvon=1endlocalbis=von+laenge-1if(bis<von)thenreturn""endreturnmw.ustring.sub(frame.args[1],von,bis)endfunctionStr.crop(frame)locals=frame.args[1]localcut=tonumber(frame.args[2])locallaenge=mw.ustring.len(s)if(notcut)or(cut<1)thenreturnsendreturnmw.ustring.sub(s,1,laenge-cut)endfunctionStr.cropleft(frame)locals=frame.args[1]localcut=tonumber(frame.args[2])locallaenge=mw.ustring.len(s)if(notcut)or(cut<1)thenreturnsendreturnmw.ustring.sub(s,cut+1,-1)endfunctionStr.find(frame)ifnotframe.args[2]orframe.args[2]==""thenreturn1endlocalidx=mw.ustring.find(frame.args[1],frame.args[2],1,true)ifidxthenreturnidxelsereturn-1endendfunctionStr.hex2dez(frame)a=tonumber(frame.args[1],16)ifathenreturnaelsereturn0endendfunctionStr.match(frame)localtext=frame.args[1]or""localpattern=frame.args[2]or""localindex=tonumber(frame.args[3])or0if(text==""orpattern=="")thenreturn""end-- return all captures (denoted by brackets in the pattern) if index is zero, otherwise return only the index-th captureifindex<=0thenreturnmw.ustring.match(text,pattern)elsereturn({mw.ustring.match(text,pattern)})[index]endendfunctionStr.rep(frame)localrepetitions=tonumber(frame.args[2])or0;returnmw.ustring.rep(frame.args[1]or'',repetitions)endfunctionStr.replace(frame)localtext=frame.args[1]or""-- Text, der bearbeitet werden solllocalsearch=frame.args[2]or""-- Textstellen innerhalb von "text" die ersetzt werden solleniftext==""orsearch==""thenreturn""endlocalreplace=frame.args[3]or""-- Ersetzungstextlocalcount=tonumber(frame.args[4])-- Anzahl der Ersetzungen (optional)localregexsearch=frame.args[5]-- beliebiger Wert um dafür zu sorgen, dass der Suchtext "search" als Lua-regulärer Ausdruck behandelt werden sollifnotregexsearchorregexsearch==""thensearch=escape_lua_regex(search)replace=mw.ustring.gsub(replace,"%%","%%%%")endlocalresultifcountthenresult,_=mw.ustring.gsub(text,search,replace,count)elseresult,_=mw.ustring.gsub(text,search,replace)endreturnresultend-- richtet Zahlen numerisch ausfunctionStr.adjustnumber(frame)localausgabe;localtext=frame.args[1]or""-- Text, der bearbeitet werden soll, i.d.R. eine Dezimalzahllocali_li=math.floor(tonumber(frame.args[2]))or2;-- maximale Stellen links vom Trennzeichenlocali_re=math.floor(tonumber(frame.args[3]))or2;-- maximale Stellen rechts vom Trennzeichenlocalsign=frame.args['Z']or","-- Trennzeichenlocalzeroes='00000000000000000000';-- 20 duerften ausreichen.localzpos=0;locallen=mw.ustring.len(text);ifnottextorsign==""thenzpos=len+1;elsezpos=mw.ustring.find(text,sign,1,true)orlen;endlocalzl=0;localzr=0;localt_li="";localt_re="";localz_li="";localz_re="";ifzpos>1thent_li=mw.ustring.sub(text,1,zpos-1);elset_li="";endiflen-zpos>0thent_re=mw.ustring.sub(text,zpos+1,-1);elset_re="";endzl=i_li-mw.ustring.len(t_li);ifzl<1thenzl=0;z_li="";elsez_li='<span style="visibility:hidden;">'..mw.ustring.sub(zeroes,1,zl)..'</span>';endzr=i_re-mw.ustring.len(t_re);ifzr<1thenzr=0;z_re="";elsez_re='<span style="visibility:hidden;">'..mw.ustring.sub(zeroes,1,zr)..'</span>';endausgabe=z_li..t_li..sign..t_re..z_re;returnausgabe;end-- Die folgende Stringfunktion rundet Zahlen und gibt im Unterschied zu-- "round" im Modul FormatNum auch nachfolgende Nullen aus.--  So wird "1.12" bei drei Nachkommastellen als "1.120" zurückgegeben.functionStr.round(frame)localnum=tonumber(frame.args[1]or'')or'NaN';-- zu rundende Zahllocalprec=tonumber(frame.args[2]or'')or'NaN';-- Dezimalstellenifnum=='NaN'orprec=='NaN'thenreturn"NaN";endprec=math.floor(prec);localout="";localrnd=10;ifprec>0thenlocalfmt="%."..tostring(prec).."f";out=string.format(fmt,num);-- Zahlen haben nur ASCII-Zeichenelsernd=10^(-prec);num=math.floor(num/rnd+0.5)*rnd;out=string.format("%d",num);-- Zahlen haben nur ASCII-Zeichenendreturnout;endreturnStr
Voh „https://bar.wikipedia.org/w/index.php?title=Modul:Str&oldid=801979

[8]ページ先頭

©2009-2026 Movatter.jp