모듈:문자열 2
Module| 이 Lua 모듈은 전체 페이지의 약 4%인 약 2,280,000 페이지에서 사용됩니다. 큰 중단과 서버 로드를 방지하려면 모듈의 /sandbox 또는 /testcase 하위 페이지 또는 자체 모듈 샌드박스에서 변경 사항을 테스트해야 합니다.테스트된 변경 사항은 한 번의 편집으로 이 페이지에 추가할 수 있습니다.변경사항을 구현하기 전에 대화 페이지에서 변경사항에 대해 논의하는 것을 고려합니다. |
| 이 모듈은 일반적으로 사용할 수 있는 것으로 평가됩니다.그것은 성숙한 형태에 도달했고, 상대적으로 버그가 없으며 적절한 곳이라면 어디서나 사용할 수 있는 것으로 생각됩니다.새로운 사용자가 학습할 수 있는 옵션으로 도움말 페이지 및 기타 위키백과 자료에 언급할 준비가 되어 있습니다.서버 로드 및 불량 출력을 줄이려면 반복적인 시행착오 편집보다 샌드박스 테스트를 통해 개선해야 합니다. |
| 이 모듈은 다음과 같은 다른 모듈에 따라 달라집니다. |
모듈:String2 (대화 내역 링크 감시 로그 편집)
String2 모듈에는 모듈에 있는 것보다 훨씬 덜 일반적으로 사용되는 여러 문자열 조작 기능이 포함되어 있습니다.끈.이유 모듈:문자열은 계단식으로 보호되며(일부 기능은 기본 페이지에서 사용됨), 관리자만 템플릿 편집기에서 편집하거나 유지 관리할 수 없습니다.문자열 처리 기능은 유지보수가 거의 필요하지 않지만, 가능한 경우 템플릿 편집기를 통해 유지보수를 허용하는 것이 유용합니다. 따라서 이 모듈은 템플릿 편집기에서 새로운 기능을 개발하는 데 사용될 수 있습니다.
모듈에는 문자열을 첫 글자 대문자, 문장 대소문자 또는 제목 대소문자로 변환하는 세 개의 대소문자 관련 호출과 하위 문자열 작업에 유용한 두 개의 호출이 포함되어 있습니다.패딩된 숫자에서 선행 0을 제거하고 위키텍스트로 해석되지 않도록 텍스트를 변환하는 다른 유틸리티 호출과 특정 페이지에서 텍스트의 위치를 찾는 것과 같은 템플릿 개발자의 특정 문제를 해결하는 몇 가지 다른 호출이 있습니다.
이 기능은 Wikidata에서 반환된 텍스트를 사용할 수 있도록 설계되었습니다.그러나 Wikidata에 대한 호출이 비어 있을 수 있으므로 누락되거나 비어 있는 입력 매개 변수와 함께 제공되는 경우 오류를 발생시키는 대신 일반적으로 함수가 정상적으로 실패합니다.
기능들
다듬다
자르기 기능은 문자열의 시작과 끝에서 공백 문자만 자릅니다.
제목
제목 기능은 미국 정부 인쇄 사무소 스타일 설명서에서 권장하는 여러 개의 짧은 단어(a, an, the, at, for, in, on, to, up, as, but, or, nor)를 제외하고 텍스트에 있는 각 단어의 첫 글자를 대문자로 표시합니다.
문장.
문장 함수는 첫 번째 문자를 찾아 대문자로 표시한 다음 나머지 텍스트를 소문자로 렌더링합니다.Wiki 마크업이 포함된 텍스트에서 올바르게 작동합니다.비교하다{{#invoke:String2 sentence [[action game]]}}액션 게임{{ucfirst:{{lc:[[action game]]}}}}액션 게임파이핑된 Wiki 링크도 처리됩니다.
{{#invoke:String2 sentence [[trimix (breathing gas) trimix]]}}트리믹스
목록도 마찬가지입니다.
{{#invoke:String2 sentence {{hlist [[apples]] [[pears]] [[oranges]]}}}}→
ucfirst
ucfirst 함수는 문장과 유사합니다. 대문자로 첫 번째 알파벳 문자를 렌더링하지만 나머지 텍스트의 대문자화는 변경되지 않습니다.이것은 텍스트에 고유 명사가 포함되어 있는 경우 유용하지만, 예를 들어 ALLCAPS인 문장을 정규화하지는 않습니다.또한 Piped Wiki 링크가 포함된 텍스트 및 html 목록에서도 작동합니다.
꼴찌를 보다
- findlast 함수는 목록의 마지막 항목을 찾습니다.
- 이름 없는 첫 번째 매개 변수는 목록입니다.목록이 선행 및 후행 공백으로 잘립니다.
- 두 번째 선택적인 이름 없는 매개 변수는 목록 구분 기호(기본값 = 쉼표 공간)입니다.선행 또는 후행 공백을 사용할 수 있도록 구분 기호가 선행 및 후행 공백으로 잘라지지 않습니다.
- 구분 기호를 찾을 수 없는 경우 전체 목록을 반환합니다.
한 가지 잠재적인 문제는 Lua 특수 패턴 문자를 사용하는 것입니다.^$()%.[]*+-?). 분리기가 문제가 발생할 수 있습니다.
| 사례. | 위키텍스트 | 산출량 |
|---|---|---|
| 정상사용량 | {{#invoke:String2 findlast 5, 932, 992,532, 6,074,702, 6,145,291}} | 6,145,291 |
| 구분 기호로 공백 사용 | {{#invoke:String2 findlast 5 932 992,532 6,074,702 6,145,291 }} | 5 932 992,532 6,074,702 6,145,291 |
| 하나의 품목 리스트 | {{#invoke:String2 findlast 6,074,702 }} | 6,074,702 |
| 구분 기호를 찾을 수 없음 | {{#invoke:String2 findlast 5, 932, 992,532, 6,074,702, 6,145,291 ;}} | 5, 932, 992,532, 6,074,702, 6,145,291 |
| 목록 누락 | {{#invoke:String2 findlast }} |
분열되다
분할 함수는 구분 기호로 지정된 경계에서 텍스트를 분할하고 인덱스 idx(1부터 시작)에 대한 청크를 반환합니다.위치 매개 변수 또는 명명된 매개 변수를 사용할 수 있지만 이러한 매개 변수는 혼합해서는 안 됩니다.
{{#invoke:String2 split text separator index true/false}}{{#invoke:String2 split txt=text sep=separator idx=index plain=true/false}}
구분 기호 매개 변수의 큰따옴표(")는 제거되므로 공백과 위키텍스트를 사용할 수 있습니다.["[통과됨. 사용{{!}}파이프 캐릭터를 위하여 .
선택적 일반 매개 변수가 다음으로 설정된 경우false / no / 0그런 다음 분리기는 Lua 패턴으로 처리됩니다.기본값은 plain=true입니다. 즉, 일반 텍스트 일치입니다.
인덱스 매개 변수는 선택 사항이며, 기본값은 첫 번째 텍스트 청크입니다.
템플릿:Stringsplit은 분할 함수에 대한 편리한 래퍼입니다.
스트립 제로
stripZero 함수는 텍스트 문자열에서 첫 번째 숫자를 찾고 선행 0을 제거하지만 소수점 뒤에 오는 0은 유지합니다.예: "0940" → "940", "연도: 0023" → "연도: 23", "00.12" → "0.12"
노비키
Nowiki 기능을 사용하면 MediaWiki 소프트웨어에서 텍스트 문자열이 코드가 아닌 문자열로 처리됩니다.선행 및 후행 공백을 잘라냅니다.
val 2 퍼센트
val2% 함수는 문자열을 스캔하여 이름 없는 첫 번째 매개 변수 또는 txt=로 전달하고 찾은 각 숫자를 백분율로 변환한 다음 결과 문자열을 반환합니다.
원투어
one2a 함수는 문자열을 스캔하여 이름이 지정되지 않은 첫 번째 매개 변수 또는 txt=로 전달하고 각각의 'one'을 'a' 또는 'an'으로 변환한 다음 결과 문자열을 반환합니다.
템플릿:One2a는 One2a 기능의 편의 포장지입니다.
페이지 텍스트 찾기
페이지 텍스트 찾기 함수는 페이지의 위키 텍스트 원본에 있는 텍스트의 위치를 반환합니다.최대 4개의 매개 변수가 필요합니다.
- 첫 번째 위치 매개 변수 또는 텍스트는 검색할 텍스트입니다.
- 선택적 매개변수 제목은 페이지 제목이며, 기본값은 현재 페이지입니다.
- 선택적 매개변수 플레인은 일반 검색(기본값)의 경우 true이고, Lua 패턴 검색의 경우 false입니다.
- 일치하지 않는 옵션 매개 변수는 일치하는 항목이 없을 때 반환되는 값이며 기본값은 아무것도 아닙니다.
- 예
{{#invoke:String2 findpagetext text=Youghiogheny}}→{{#invoke:String2 findpagetext text=Youghiogheny nomatch=not found}}찾을 수 없음{{#invoke:String2 findpagetext text=Youghiogheny title=Boston Bridge nomatch=not found}}→ 203{{#invoke:String2 findpagetext text=river title=Boston Bridge nomatch=not found}}찾을 수 없음{{#invoke:String2 findpagetext text=[Rr]iver title=Boston Bridge plain=false nomatch=not found}}→ 216{{#invoke:String2 findpagetext text=%[%[ title=Boston Bridge plain=f nomatch=not found}}→ 201{{#invoke:String2 findpagetext text=%{%{[Cc]oord title=Boston Bridge plain=f nomatch=not found}}→ 2358
검색은 대소문자를 구분하므로 Lua 패턴 일치가 필요합니다.river또는River마지막 예는 다음을 찾습니다.{{coord그리고.{{Coord끝이 없는 예제는 Wiki 링크를 찾습니다.
템플릿:페이지 텍스트 찾기는 이 기능의 편리한 래퍼입니다.
벗다
스트립 기능은 두 번째 위치 파라미터에 제공된 문자 또는 패턴의 첫 번째 위치 파라미터를 스트립합니다.
matchAny
matchAny 함수는 소스 매개 변수와 일치하는 첫 번째 위치 매개 변수의 인덱스를 반환합니다.플레인 파라미터가 false(기본값 true)로 설정된 경우 검색 문자열은 Lua 패턴입니다.이것은 문자열이 일치하는 패턴을 기준으로 스위치 케이스를 선택하는 스위치 문에 유용하게 넣을 수 있습니다.일치하는 항목이 없으면 {{#if}}에서 사용할 빈 문자열을 반환합니다.
{{#invoke:String2 matchAny 123 abc source=abc 124}}2를 반환합니다.
hyphen2px
모듈에서 hyphen_to_dash() 함수를 추출했습니다.인용/CS1.
특정 조건에서 하이픈을 대시로 변환합니다.하이픈은 동일한 항목으로 구분해야 합니다. 항목과 달리 수정되지 않은 항목이 반환됩니다.다음 양식이 수정되었습니다.
- 레터 - 레터(A - B
- 숫자 - 숫자(4-5)
- 숫자 구분자 숫자 - 숫자 구분자 숫자(4.1-4.5 또는 4-1-4-5)
- 문자 자릿수 - 문자 자릿수(A1-A5)(문자와 숫자 사이의 선택적 구분 기호 지원 - a.1-a.5 또는 a-1-a-5)
- 숫자 문자 - 숫자 문자(5a - 5d)(문자와 숫자 사이의 선택적 구분 기호 지원 – 5.a-5.d 또는 5-a-5-d)
다른 양식은 수정되지 않고 반환됩니다.
입력 문자열은 쉼표 또는 세미콜론으로 구분된 목록일 수 있습니다.세미콜론은 쉼표로 변환됩니다.
{{#invoke:String2 hyphen2dash 1=1-2}}1-2를 반환합니다.
{{#invoke:String2 hyphen2dash 1=1-2; 4–10}}1-2, 4-10을 반환합니다.
Accept-this-as-write 마크업이 지원됩니다. 예를 들어 지원됩니다.{{#invoke:String2 hyphen2dash 1=((1-2)); 4–10}}1-2, 4-10을 반환합니다.
기본적으로 일반 공백은 쉼표 목록 뒤에 삽입됩니다.선택적인 두 번째 매개 변수를 사용하면 이 매개 변수를 다른 문자(즉, 얇은 공간 또는 머리카락 공간)로 변경할 수 있습니다.
로 시작합니다.
A은(는) {{#invoke:string endswith}}과(와) 유사한 함수로 시작합니다.두 매개 변수는 모두 필요하지만 비워 둘 수 있습니다.선행 및 후행 공백이 계산됩니다. 필요한 경우 명명된 매개 변수를 사용하여 이를 방지하십시오.true의 경우 "yes"를 출력하고 false의 경우 공백을 출력하므로 #if에 직접 전달할 수 있습니다.
| 마크업 | 렌더링 대상 |
|---|---|
{{#backets:string2는 search se}로 시작합니다. | 네. |
{{#backets:string2는 검색 ch}로 시작합니다. | |
사용.
{{#invoke:String2 sentence …}}첫 번째 문자는 대문자로 표시하고 나머지 문자는 소문자로 이동합니다.{{#invoke:String2 ucfirst …}}첫 번째 알파벳 문자를 대문자로 표시하고 나머지 문자는 변경하지 않음- 파이프 연결된 Wiki 링크 및 HTML 목록과 함께 작동합니다.
{{#invoke:String2 title …}}다음을 제외한 모든 단어를 대문자로 표시합니다.a,an,the,at,by,for,in,of,on,to,up,and,as,but,or,그리고.nor.{{#invoke:String2 stripZeros …}}문자열에서 찾은 첫 번째 숫자에서 선행 패딩 0을 제거합니다.{{#invoke:String2 title …}}문자열을 Wiki 코드 없이 일반 텍스트로 렌더링합니다.
매개변수
이러한 함수는 조작할 텍스트로 구성(또는 문자열로 호출)되는 하나의 이름 없는 매개 변수를 사용합니다.
- 제목
- 문장.
- ucfirst
예
| 입력 | 산출량 |
|---|---|
| {{#선택사항:스트링2 ucfirstabcd }} | Abcd |
| {{#선택사항:스트링2 ucfirst abCD }} | AbCD |
| {{#선택사항:스트링2 ucfirst ABCd }} | ABCD |
| {{#선택사항:스트링2 ucfirst ABCD }} | ABCD |
| {{#선택사항:String2 ucfirst 123abcd }} | 123 abcd |
| {{#선택사항:String2 ucfirst }} | |
| {{#선택사항:String2 ucfirst 인간 X 염색체 } | 인간 X 염색체 |
| {{#선택사항:String2 ucfirst {{#invoke:위키데이터IB get Value P136 fetchwikidata=ALL 전용 출처=no qid=Q1396889}}} | 로마 아크레프, 풍자 소설, 우화, 디스토피아 소설 |
| {{#선택사항:String2 ucfirst {{#invoke:위키데이터IB get Value P106 fetchwikidata=ALL 리스트=hlist qid=Q453196}}}} | |
| {{#선택사항:String2 문장 abcd }} | Abcd |
| {{#선택사항:String2 문장 abCD }} | Abcd |
| {{#선택사항:String2 문장 ABCD }} | Abcd |
| {{#선택사항:String2 문장 ABCD }} | Abcd |
| {{#선택사항:String2 문장 [액션 게임] }} | 액션 게임 |
| {{#선택사항:String2 문장 [트리믹스(호흡가스) 트리믹스]} | 트리믹스 |
| {{#선택사항:String2 문장 }} | |
| {{#선택사항:문자열 2 제목 abcd }} | Abcd |
| {{#선택사항:String2 제목 abCD }} | Abcd |
| {{#선택사항:String2 제목 ABCD } | Abcd |
| {{#선택사항:String2 title ABCD }} | Abcd |
| {{#선택사항:String2 제목 }} | |
| {{#선택사항:String2 제목 비타민은 나의 신선한 캘리포니아 건포도에 있습니다}. | 비타민은 나의 신선한 캘리포니아 건포도에 들어있습니다. |
문자열 분할
{{String split This is a piece of text to be split " "}}이{{String split This is a piece of text to be split " " 4}}토막토막{{String split This is a piece of text to be split x 2}}분할할
모듈은 다음과 같은 구분자로 문자열을 반환할 수 있습니다.{{#invoke:carousel main name = WPDogs switchsecs = 5 }}(2) BIR Group 7 - KORTHåRIG VORSTEH, J Björkärets Hertzogin Aida (24208119306)jpg 독일어 짧은 머리 포인터
루아 패턴은 구두점과 같은 문자 클래스에서 분할할 수 있습니다.
{{String split Apples, pears, oranges; Cats, dogs "%p" 2 false}}배{{String split Apples, pears, oranges; Cats, dogs "%p" 4 false}}캣츠
또는 문자가 아닌 다른 문자로 분할(아니오는 거짓으로 처리됨):
{{String split Apples pears oranges; Cats dogs "%A+" 4 no}}캣츠
명명된 매개변수는 매개변수의 선행 및 후행 공백을 강제로 트리밍하며 일반적으로 사용할 때 더 선명합니다.
{{String split txt=Apples pears oranges; Cats dogs sep="%A+" idx=3 plain=false }}오렌지
원2a
템플릿:One2a는 One2a 기능의 편의 포장지입니다.
자본화는 유지됩니다.{Convert}}과(와) 함께 사용하도록 지정되었습니다.
{{one2a One foot. One mile. One kilometer. One inch.One amp. one foot. one mile. one inch. Alone at last. Onely the lonely. ONE ounce. One monkey.}}→
- 1피트. 1마일.1킬로미터.1인치.1.5미터. 1마일.1인치드디어 혼자.외로운 사람들만.1온스.원숭이.
{{convert 1 ft spell=on}}1피트(0.3.0미터){{one2a {{convert 1 ft spell=on}}}}1피트(0.3미터){{convert 2.54 cm 0 disp=out spell=on}}1인치{{one2a {{convert 2.54 cm 0 disp=out spell=on}}}}1인치
참고 항목
모듈:다음 기능에 대한 문자열:
- 렌
- 후보선수
- 서브렝스
- 경기
- 포스
- str_find
- 찾아내다
- 교체하다
- 대리인
자본화 관련 템플릿 및 모듈
- {{R from other capitalization}} – WP 분류용: 제목에서 기사(또는 다른 페이지)로 리다이렉트(리다이렉트가 단지 다른 대문자일 경우)
- {{Template 대문자} – ?
- 모듈:String2
출력을 다시 쓰는 마법 단어(복사 붙여넣기는 텍스트를 입력한 대로가 아니라 표시된 대로 가져옵니다):
{{lc:}}전문의 소문자 출력{{uc:}}전문의 대문자 출력{{lcfirst:}}첫 번째 문자의 소문자 출력만{{ucfirst:}}첫 번째 문자의 대문자 출력만
구현하는 템플릿<nowiki>
현지의 p = {} p.다듬다 = 기능.(틀) 돌아가다 mw.본문.다듬다(틀.논병아리[1] 또는 "") 끝. p.문장. = 기능. (틀) {{lc:}}은(는) 스트립으로 고정된 안전한 문자열입니다. lower는 그렇지 않습니다. 틀.논병아리[1] = 틀:콜 파서 함수('lc', 틀.논병아리[1]) 돌아가다 p.ucfirst(틀) 끝. p.ucfirst = 기능. (틀 ) 현지의 s = mw.본문.다듬다( 틀.논병아리[1] 또는 "" ) 현지의 s1 = "" 만약 그것이 리스트 컷오프라면, 그리고 (s1로 저장) 첫 번째 <li>까지의 모든 것. 현지의 리포 = mw.ustring.찾아내다(s, "<li>" ) 한다면 리포 그리고나서 s1 = mw.ustring.후보선수(s, 1, 리포 + 3) s = mw.ustring.후보선수(s, 리포 + 4) 끝. s1은 "" 또는 목록 마크업의 첫 번째 부분이므로 계속할 수 있습니다. 반환된 문자열에 s1을 추가합니다. 현지의 레터포스 한다면 mw.ustring.찾아내다(s, "^%[%[[^ ]+ [^%]]+%]%]") 그리고나서 이것은 파이프로 연결된 위키링크이기 때문에 우리는 파이프가 아닌 텍스트를 대문자로 표시합니다. 현지의 _ _, 레터포스 = mw.ustring.찾아내다(s, %W*%w") 파이프 뒤의 첫 글자를 찾습니다. 또 다른 레터포스 = mw.ustring.찾아내다(s, '%w') 끝. 한다면 레터포스 그리고나서 현지의 첫번째 = mw.ustring.후보선수(s, 1, 레터포스 - 1) 현지의 편지 = mw.ustring.후보선수(s, 레터포스, 레터포스) 현지의 쉬다 = mw.ustring.후보선수(s, 레터포스 + 1) 돌아가다 s1 .. 첫번째 .. mw.ustring.위쪽의(편지) .. 쉬다 또 다른 돌아가다 s1 .. s 끝. 끝. p.제목 = 기능. (틀 ) -- http://grammar.yourdictionary.com/capitalization/rules-for-capitalization-in-titles.html 미국 정부 인쇄 사무소 스타일 설명서에 의해 권장됨: "출판물과 문서의 제목에 있는 모든 단어를 대문자로 표시하고, a, an, the, at, by, for, in, on, to, up, as, but, or, nor를 제외하고," 현지의 항상 낮은 = {[a.] = 1, ['안'] = 1, ['그'] = 1, ['그리고'] = 1, ['하지만'] = 1, ['또는'] = 1, ['용'] = 1, ['nor] = 1, ['온'] = 1, [인] = 1, ['''at'''] = 1, ['행'] = 1, ['출신'] = 1, ['by'] = 1, [의] = 1, ['위'] = 1 } 현지의 res = '' 현지의 s = mw.본문.다듬다( 틀.논병아리[1] 또는 "" ) 현지의 단어 = mw.본문.분열되다( s, " ") 위해서 i, s 에 짝을 짓다(단어) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 {{lc:}}은(는) 스트립으로 고정된 안전한 문자열입니다. lower는 그렇지 않습니다. s = 틀:콜 파서 함수('lc', s) 한다면 i == 1 또는 항상 낮은[s] ~= 1 그리고나서 s = mw.콘텐츠 언어 가져오기():ucfirst(s) 끝. 단어[i] = s 끝. 돌아가다 테이블.콘캣(단어, " ") 끝. find last 목록에서 마지막 항목을 찾습니다. 이름 없는 첫 번째 매개 변수는 목록입니다. 두 번째, 선택적인 이름 없는 매개 변수는 목록 구분 기호입니다(기본값 = 쉼표 공간). 구분 기호를 찾을 수 없는 경우 전체 목록을 반환합니다. p.꼴찌를 보다 = 기능.(틀) 현지의 s = mw.본문.다듬다( 틀.논병아리[1] 또는 "" ) 현지의 셉 = 틀.논병아리[2] 또는 "" 한다면 셉 == "" 그리고나서 셉 = ", " 끝. 현지의 양식 = ".*" .. 셉 .. "(.*)" 현지의 a, b, 지난 = s:찾아내다(양식) 한다면 a 그리고나서 돌아가다 지난 또 다른 돌아가다 s 끝. 끝. stripZero는 첫 번째 숫자를 찾고 선행 0을 제거합니다(단위 제외). 예: "0940" -> "940", "연도: 0023" -> "연도: 23", "00.12" -> "0.12" p.스트립 제로 = 기능.(틀) 현지의 s = mw.본문.다듬다(틀.논병아리[1] 또는 "") 현지의 n = 수에 달하여( string.match( s, %d+" ) ) 또는 "" s = string.gsub( s, %d+", n, 1 ) 돌아가다 s 끝. nowiki는 텍스트 문자열이 MediaWiki 소프트웨어에 의해 단순한 문자열로 처리되도록 보장합니다. 이름이 지정되지 않은 매개 변수를 사용하여 공백을 잘라낸 다음 Wiki 코드를 제거합니다. p.노비키 = 기능.(틀) 현지의 스트르 = mw.본문.다듬다(틀.논병아리[1] 또는 "") 돌아가다 mw.본문.노비키(스트르) 끝. 구분 기호로 지정된 경계에서 텍스트를 분할합니다. 인덱스 idx에 대한 청크를 반환합니다(1부터 시작). #선택:String2 분할 텍스트 구분 기호 색인 참/거짓 #선택:String2 분할 txt=text sep= 구분자 idx=index plain= true/false 플레인이 false/no/0이면 구분 기호가 Lua 패턴으로 처리됩니다. 기본값은 플레인=true입니다. p.분열되다 = 기능.(틀) 현지의 논병아리 = 틀.논병아리 한다면 것은 아니다.(논병아리[1] 또는 논병아리.txt) 그리고나서 논병아리 = 틀:상위 항목 가져오기().논병아리 끝. 현지의 txt = 논병아리[1] 또는 논병아리.txt 또는 "" 한다면 txt == "" 그리고나서 돌아가다 영의 끝. 현지의 셉 = (논병아리[2] 또는 논병아리.셉 또는 ""):gsub('"', '') 현지의 idx = 수에 달하여(논병아리[3] 또는 논병아리.idx) 또는 1 현지의 평지 = (논병아리[4] 또는 논병아리.평지 또는 "참"):후보선수(1,1) 평지 = (평지 ~= "f" 그리고. 평지 ~= "n" 그리고. 평지 ~= "0") 현지의 산산조각이 나다 = mw.본문.분열되다( txt, 셉, 평지 ) 한다면 idx < 0 그리고나서 idx = #산산조각이 나다 + idx + 1 끝. 돌아가다 산산조각이 나다[idx] 끝. val2%는 문자열을 통해 검색하며 이름이 지정되지 않은 첫 번째 매개 변수 또는 txt=로 전달됩니다. 찾은 각 숫자를 백분율로 변환하고 결과 문자열을 반환합니다. p.val 2 퍼센트 = 기능.(틀) 현지의 논병아리 = 틀.논병아리 한다면 것은 아니다.(논병아리[1] 또는 논병아리.txt) 그리고나서 논병아리 = 틀:상위 항목 가져오기().논병아리 끝. 현지의 txt = mw.본문.다듬다(논병아리[1] 또는 논병아리.txt 또는 "") 한다면 txt == "" 그리고나서 돌아가다 영의 끝. 현지의 기능. v2p (x) x = (수에 달하여(x) 또는 0) * 100 한다면 x == 수학.플로어(x) 그리고나서 x = 수학.플로어(x) 끝. 돌아가다 x .. "%" 끝. txt = txt:gsub("%d[%d%]*", v2p) 문자열만 저장합니다. 돌아가다 txt 끝. one2a는 문자열을 스캔하며, 이름이 지정되지 않은 첫 번째 매개 변수 또는 txt=로 전달됩니다. 각 '하나'를 'a' 또는 'an'으로 변환하고 결과 문자열을 반환합니다. p.원투어 = 기능.(틀) 현지의 논병아리 = 틀.논병아리 한다면 것은 아니다.(논병아리[1] 또는 논병아리.txt) 그리고나서 논병아리 = 틀:상위 항목 가져오기().논병아리 끝. 현지의 txt = mw.본문.다듬다(논병아리[1] 또는 논병아리.txt 또는 "") 한다면 txt == "" 그리고나서 돌아가다 영의 끝. txt = txt:gsub(하나, a."):gsub("^1", "a"):gsub("하나", "A"):gsub("a ([aeiou])", "% 1"):gsub("A([aieou])", "% 1") 돌아가다 txt 끝. 페이지 텍스트 찾기 페이지에서 텍스트의 위치를 반환합니다. 첫 번째 위치 매개 변수 또는 텍스트는 검색 텍스트입니다. 선택적 매개변수 제목은 페이지 제목이며, 기본값은 현재 페이지입니다. 일반 검색(기본값)의 경우 true이고 Lua 패턴 검색의 경우 false입니다. 일치하지 않는 옵션 매개 변수는 일치하지 않는 경우 반환 값이며, 기본값은 0입니다. p._페이지 텍스트 찾기 = 기능.(논병아리) 프로세스 매개 변수 현지의 비길 데 없는 = 논병아리.비길 데 없는 또는 "" 한다면 비길 데 없는 == "" 그리고나서 비길 데 없는 = 영의 끝. -- 현지의 본문 = mw.본문.다듬다(논병아리[1] 또는 논병아리.본문 또는 "") 한다면 본문 == "" 그리고나서 돌아가다 영의 끝. -- 현지의 제목 = 논병아리.제목 또는 "" 현지의 titleobj 한다면 제목 == "" 그리고나서 titleobj = mw.제목.현재 제목 가져오기() 또 다른 titleobj = mw.제목.신규(제목) 끝. -- 현지의 평지 = 논병아리.평지 또는 "" 한다면 평지:후보선수(1, 1) == "f" 그리고나서 평지 = 거짓의 또 다른 평지 = 진실의 끝. 페이지 내용을 가져오고 '텍스트'를 찾습니다. 위치를 반환하거나 일치하지 않습니다. 현지의 내용물 = titleobj 그리고. titleobj:콘텐츠 가져오기() 돌아가다 내용물 그리고. mw.ustring.찾아내다(내용물, 본문, 1, 평지) 또는 비길 데 없는 끝. p.페이지 텍스트 찾기 = 기능.(틀) 현지의 논병아리 = 틀.논병아리 현지의 잔디밭 = 틀:상위 항목 가져오기().논병아리 위해서 k, v 에 쌍들(잔디밭) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 논병아리[k] = v 끝. 한다면 것은 아니다. (논병아리[1] 또는 논병아리.본문) 그리고나서 돌아가다 영의 끝. 첫 번째 값 돌아가다 (p._페이지 텍스트 찾기(논병아리)) 끝. 디코딩된 URL을 반환합니다.파서 함수의 역함수 {{urlencode:val TYPE}} 유형: 쿼리는 +를 공백으로 디코딩합니다(기본값). PATH는 추가 디코딩을 수행하지 않습니다. Wiki가 _ 공간으로 디코딩합니다. p._urldecode = 기능.(URL, 유형) URL = URL 또는 "" 유형 = (유형 == "PATH" 또는 유형 == "WIKI") 그리고. 유형 돌아가다 mw.uri.암호를 해독하다( URL, 유형 ) 끝. {{#선택사항:String2 urldecode url=url type=type} 문자열 p.도시의 십진법 = 기능.(틀) 돌아가다 mw.uri.암호를 해독하다( 틀.논병아리.URL, 틀.논병아리.유형 ) 끝. 다음 항목이 모듈에서 병합되었습니다.문자열 펑크 도우미 기능 p._ 매개 변수 가져오기 = 요구하다('모듈:매개 변수 가져오기') 모듈에 따라 인수 목록 도우미 기능:끈 p._ 매개 변수 가져오기 = p._ 매개 변수 가져오기.매개 변수 가져오기 이스케이프 패턴 도우미 기능을 통해 모듈에 따라 모든 문자가 일반 텍스트로 처리됩니다.끈 기능. p._탈출 패턴( pattern_str) 돌아가다 mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ) 끝. 모듈에 따라 부울 문자열을 해석하는 도우미 기능:끈 p._Boolean을 구함 = p._ 매개 변수 가져오기.불리언이 나다 --[[ 벗다 이 함수는 문자열에서 문자를 제거합니다. 용도: {{#선택사항:string2 strip source_string characters_to_strip plain_flag} 문자열 매개변수 출처:제거할 문자열 chars: 문자열에서 제거할 패턴 또는 문자 목록, "로 대체됨 플레인: 문자를 플레인 텍스트로 이해해야 함을 나타내는 플래그입니다. 기본값은 true입니다. 선행 및 후행 공백도 문자열에서 자동으로 제거됩니다. ]] 기능. p.벗다( 틀 ) 현지의 새_인수 = p._ 매개 변수 가져오기( 틀.논병아리, {'소스', 'chars, '''비공식'''} ) 현지의 source_str = 새_인수['소스'] 또는 '' 현지의 차들 = 새_인수['chars] 또는 '' 또는 '카멜레온' source_str = mw.본문.다듬다(source_str) 한다면 source_str == '' 또는 차들 == '' 그리고나서 돌아가다 source_str 끝. 현지의 l_combines = p._Boolean을 구함( 새_인수['''비공식'''] 또는 진실의 ) 한다면 l_combines 그리고나서 차들 = p._탈출 패턴( 차들 ) 끝. 현지의 결과 결과 = mw.ustring.gsub(source_str, "["..차들.."]", '') 돌아가다 결과 끝. --[[ 임의 일치 입력과 일치하는 첫 번째 지정된 패턴의 인덱스를 반환합니다.패턴에는 일련 번호를 지정해야 합니다. {{#}에서 사용할 때 일치하는 항목이 없으면 빈 문자열을 반환합니다.}} 용도: {{#선택사항:String2 matchAll source=123 abc 456 abc}: '2'를 반환합니다. 매개 변수: source: 검색할 문자열 플레인: 패턴을 플레인 텍스트로 이해해야 함을 나타내는 플래그입니다. 기본값은 true입니다. 1, 2, 3, ...검색할 패턴 ]] 기능. p.matchAny(틀) 현지의 source_str = 틀.논병아리['소스'] 또는 오류('소스 매개 변수는 필수입니다.') 현지의 l_combines = p._Boolean을 구함( 틀.논병아리['''비공식'''] 또는 진실의 ) 위해서 i = 1, 수학, 수학,수학 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 현지의 양식 = 틀.논병아리[i] 한다면 것은 아니다. 양식 그리고나서 돌아가다 '' 끝. 한다면 mw.ustring.찾아내다(source_str, 양식, 1, l_combines) 그리고나서 돌아가다 끈으로 묶는(i) 끝. 끝. 끝. --[--------------------------< HY HEN _ TO _ DASH >------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 특정 조건에서 하이픈을 대시로 변환합니다.하이픈은 분리해야 합니다. 동일한 항목, 동일하지 않은 항목은 수정되지 않은 채 반환됩니다.다음 양식이 수정되었습니다. 레터 - 레터(A - B 숫자 - 숫자(4-5) 숫자 구분자 숫자 - 숫자 구분자 숫자(4.1-4.5 또는 4-1-4-5) 문자 자릿수 - 문자 자릿수(A1-A5)(문자와 문자 사이의 선택적 구분 기호) 숫자 지원 – a.1-a.5 또는 a-1-a-5) 숫자 문자 - 숫자 문자(5a - 5d)(문자와 문자 사이의 선택적 구분 기호) 숫자 지원 – 5.a-5.d 또는 5-a-5-d) 다른 양식은 수정되지 않고 반환됩니다. str은 쉼표 또는 세미콜론으로 구분된 리스트일 수 있습니다. ]] 기능. p.하이픈_to_message( 스트르, 띄어쓰기 ) 한다면 (스트르 == 영의 또는 스트르 == '') 그리고나서 돌아가다 스트르 끝. 현지의 수락 스트르 = mw.본문.암호를 해독하다(스트르, 진실의 ) html 엔티티를 문자로 대체합니다. 세미콜론은 텍스트를 망칩니다. 현지의 나가. = {} 현지의 목록. = mw.본문.분열되다 (스트르, '%s*[,;]%s*') 분할 strat 쉼표 또는 세미콜론 구분 기호(있는 경우) 위해서 _, 항목 에 짝을 짓다 (목록.) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 목록의 각 항목에 대해 항목 = mw.본문.다듬다(항목) 여백을 다듬다 항목, 수락 = 항목:gsub ('^%(%((.+)%)%)
