모듈:String 2/doc
Module| 이 Lua 모듈은 약 1,740,000페이지(전체 페이지의 약 3%)에서 사용됩니다. 중대한 중단과 서버 로드를 방지하려면 모듈의 /sandbox 또는 /testcase 서브페이지 또는 자체 모듈 샌드박스에서 변경을 테스트해야 합니다.테스트한 변경은 한 번의 편집으로 이 페이지에 추가할 수 있습니다.변경을 실장하기 전에 토크 페이지에서 변경에 대해 논의해 주십시오. |
| 이 모듈은 다음 다른 모듈에 의존합니다. |
모듈: String2 (토크 이력 링크 워치로그 편집)
String2 모듈에는 모듈의 기능보다 많이 사용되지 않는 다수의 문자열 조작 기능이 포함되어 있습니다.문자열. 모듈:문자열은 캐스케이드 방식으로 보호되며(일부 기능은 기본 페이지에서 사용됨), 관리자만 템플릿 편집기에서 편집하거나 유지 관리할 수 없습니다.문자열 처리 함수는 유지보수가 거의 필요하지 않지만 가능하면 템플릿 편집기에서 유지보수를 허용하는 것이 유용합니다. 따라서 이 모듈은 템플릿 편집기에서 새로운 기능을 개발하기 위해 사용할 수 있습니다.
이 모듈에는 문자열을 첫 글자의 대문자와 문장의 대소문자 또는 제목 대소문자로 변환하는3개의 케이스 관련 콜과 서브스트링 조작에 도움이 되는2개의 콜이 포함되어 있습니다.패딩된 숫자에서 선행 0을 제거하고 Wikitext로 해석되지 않도록 텍스트를 변환하는 유틸리티 콜과 특정 페이지의 텍스트 위치 찾기 등 템플릿 개발자에게 특정 문제를 해결하는 기타 콜이 있습니다.
이 기능은 Wikidata에서 반환된 텍스트로 작업할 수 있는 가능성을 염두에 두고 설계되었습니다.단, Wikidata 호출이 빈 상태로 반환될 수 있으므로 일반적으로 입력 파라미터가 없거나 공백인 경우 오류가 발생하지 않고 정상적으로 기능하지 않습니다.
기능들
다듬다
트리밍 기능은 문자열의 시작과 끝의 공백 문자를 트리밍하기만 하면 됩니다.
직함
제목 함수는 미국 정부 인쇄소 스타일 매뉴얼에서 권장하는 여러 단어들(a, an, the, by, for, for, on, on, up, as, but, 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 함수는 문장과 유사하며, 대문자로 첫 번째 알파벳 문자를 렌더링하지만 나머지 텍스트의 대문자는 변경하지 않습니다.이것은 텍스트에 고유 명사가 포함되어 있으면 유용하지만, 예를 들어 ALCAPS인 문장을 정규화하지는 않습니다.또한 파이핑된 Wiki 링크를 포함하는 텍스트 및 html 목록과 함께 작동합니다.
마지막으로 발견하다
- find last 함수는 목록의 마지막 항목을 찾습니다.
- 첫 번째 이름 없는 파라미터는 목록입니다.리스트는 선행 및 후행 공백으로 트리밍됩니다.
- 두 번째 선택적 이름 없는 매개 변수는 목록 구분 기호(기본값 = 쉼표 공백)입니다.구분 기호는 선행 및 후행 공백을 사용하지 않습니다(선행 또는 후행 공백을 사용할 수 있음).
- 구분 기호를 찾을 수 없는 경우 전체 목록을 반환합니다.
잠재적인 문제 중 하나는 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 |
| 1개의 아이템 리스트 | {{#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}}
구분자 파라미터의 큰따옴표(")는 모두 삭제되므로 다음과 같은 공백과 Wikitext를 사용할 수 있습니다.["[합격할 수속행차하다.사용하다{{!}}파이프 캐릭터의 경우 .
옵션 플레인 파라미터가 다음과 같이 설정되어 있는 경우false / no / 0세퍼레이터는 Lua 패턴으로 처리됩니다.기본값은 plain=true(일반 텍스트 일치)입니다.
인덱스 파라미터는 옵션입니다.기본값은 텍스트의 첫 번째 청크로 설정됩니다.
템플릿:Stringsplit은 분할 함수의 편리한 래퍼입니다.
스트립 Zeros
stripZeros 함수는 텍스트 문자열에서 첫 번째 숫자를 찾고 선행 0을 제거하지만 0 뒤에 소수점이 이어지는 0을 유지합니다.예: "0940" → "940", "Year: 0023" → "Year: 23", "00.12" → "0.12"
노우키
nowiki 기능을 사용하면 MediaWiki 소프트웨어에서 텍스트 문자열을 코드가 아닌 문자열로 처리할 수 있습니다.선행 및 후행 공백을 잘라냅니다.
2퍼센트
val2percent 함수는 문자열을 검색하여 첫 번째 이름 없는 매개 변수 또는 txt=로 전달하고 찾은 각 숫자를 백분율로 변환한 다음 결과 문자열을 반환합니다.
원투아
one2a 함수는 문자열을 검색하여 첫 번째 이름 없는 매개 변수 또는 txt=로 전달하고 각 'one'을 'a' 또는 'an'으로 변환한 다음 결과 문자열을 반환합니다.
템플릿:One2a는 One2a 기능의 편리한 포장지입니다.
검색 페이지 텍스트
findpagetext 함수는 페이지의 Wikitext 소스에 있는 텍스트의 위치를 반환합니다.최대 4개의 파라미터가 필요합니다.
- 첫 번째 위치 파라미터 또는 텍스트는 검색할 텍스트입니다.
- 선택적 매개변수 제목은 페이지 제목이며, 기본값은 현재 페이지입니다.
- 선택적 매개 변수 플레인(plain)은 일반 검색의 경우 true(기본값)이고 Lua 패턴 검색의 경우 false(false)입니다.
- 옵션의 파라미터 nomatch는 일치하는 것이 없을 때 반환되는 값입니다.기본값은 아무것도 아닙니다.
- 예
{{#invoke:String2 findpagetext text=Youghiogheny}}→ 7099{{#invoke:String2 findpagetext text=Youghiogheny nomatch=not found}}→ 7099{{#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 링크를 찾습니다.
템플릿:Findpagetext는 이 기능의 편리한 래퍼입니다.
벗다
스트립 기능은 두 번째 위치 파라미터에 제공된 문자 또는 패턴의 첫 번째 위치 파라미터를 제거합니다.
match Any(임의)
matchAny 함수는 소스 파라미터와 일치하는 첫 번째 위치 파라미터의 인덱스를 반환합니다.플레인 파라미터가 false(기본값 true)로 설정되어 있는 경우 검색 문자열은 Lua 패턴입니다.이것은 문자열이 일치하는 패턴을 기반으로 스위치케이스를 선택하기 위해 스위치스테이트먼트에 유용하게 넣을 수 있습니다.일치하는 문자열이 없는 경우 {{#if}}에서 사용할 수 있도록 빈 문자열을 반환합니다.
{{#invoke:String2 matchAny 123 abc source=abc 124}}2가 반환됩니다.
하이픈2의
모듈에서 하이픈_to_dash() 함수를 추출했습니다.인용/CS1
특정 조건에서 하이픈을 대시로 변환합니다.하이픈은 유사한 항목을 구분해야 합니다. 항목과 달리 수정되지 않은 상태로 반환됩니다.다음 양식이 변경되었습니다.
- 문자 - 문자 (A - B)
- digit - digit (4-5)
- digit separator digit - digit separator digit (4.1-4.5 또는 4-1-4-5)
- letterdigit - letterdigit (A1-A5) (문자와 숫자 사이의 옵션 구분자 a.1-a.5 또는 a-1-a-5 지원)
- digitletter - digitletter (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-as-this-as-write 마크업이 지원됩니다.{{#invoke:String2 hyphen2dash 1=((1-2)); 4–10}}1-2, 4-10을 반환합니다.
기본적으로는 목록에서 쉼표 뒤에 일반 공간이 삽입됩니다.옵션인 두 번째 매개변수를 사용하면 이 매개변수를 다른 문자(즉, 얇은 공간 또는 머리털 공간)로 변경할 수 있습니다.
로부터 시작하다
A은(는) {{#invoke:string ends with}와 유사한 함수로 시작합니다.두 매개 변수는 모두 필수이지만 비워 둘 수 있습니다.선행 및 후행 공백이 카운트됩니다.필요한 경우 명명된 파라미터를 사용하여 이를 회피합니다.true의 경우 "yes", false의 경우 "blank"로 출력되므로 #if에 직접 전달할 수 있습니다.
| 마크업 | 로 렌더링하다 |
|---|---|
{{#string: string2 starts with search se}} | 네. |
{{#string: string2는 검색 ch}로 시작합니다. | |
사용.
{{#invoke:String2 sentence …}}- 첫 번째 문자를 대문자로 쓰고 나머지는 소문자로 바꿉니다.- 마법의 단어와 비슷하지만
{{ucfirst:}}이 콜은 선두 괄호 및 기타 문자 이외의 문자를 검색하기 때문에 파이프가 연결된 Wiki-display에서도 기능합니다. - 또한 html 목록이 전달되었을 때 인식되며 목록 항목 마크업 너머의 첫 번째 영문자를 대문자로 표시합니다.
<li>) 및 존재하는 파이핑링크를 나타냅니다.
- 마법의 단어와 비슷하지만
{{#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 …}}- Wikicode를 사용하지 않고 일반 텍스트로 문자열을 렌더링합니다.
파라미터
다음 함수는 조작할 텍스트를 포함하는(또는 문자열로 호출하는) 이름 없는 파라미터를 1개 사용합니다.
- 직함
- 문장.
- 첫 번째
예
| 입력 | 산출량 |
|---|---|
| {{#제외:String2 ucfirst abcd }} | ABCD |
| {{#제외:String2 ucfirst abCD }} | ABCD |
| {{#제외:String2 ucfirst ABCD }} | ABCD |
| {{#제외:String 2 ucfirst ABCD }} | ABCD |
| {{#제외:String2 ucfirst 123abcd }} | 123 abcd |
| {{#제외:String2 ucfirst }} | |
| {{#제외:String 2 ucfirst 인간 X 염색체 }} | 인간 X염색체 |
| {{#제외:String2 문 abcd }} | ABCD |
| {{#제외:String2 문 abCD }} | ABCD |
| {{#제외:String2 문 ABCD }} | ABCD |
| {{#제외:String2 문 ABCD }} | ABCD |
| {{#제외:String 2문 [액션 게임]}} | 액션 게임 |
| {{#제외:String2 문장 [[ trimix (호흡가스) trimix ]] }} | 트리믹스 |
| {{#제외:String2 문장 {{#호출:위키데이터IB get Value P136 fetchwikidata=ALL only sourced = no qid = Q1396889} } | 로마 클레프, 풍자 소설, 우화, 디스토피아 소설 |
| {{#제외:String2 문장 {{#호출:위키데이터IB get Value P106 fetchwikidata=ALL list = hlist qid = Q453196} }} | |
| {{#제외:String2 문장 }} | |
| {{#제외:String2 제목 abcd }} | ABCD |
| {{#제외:String2 제목 abCD }} | ABCD |
| {{#제외:String2 제목 ABCD }} | ABCD |
| {{#제외:String2 제목 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}}→ 분할할 t
모듈은 다음과 같이 구분자로 지정된 문자열을 반환할 수 있습니다.{{#invoke:carousel main name = WPDogs switchsecs = 5 }}→ Racibörz 2007 082.jpg 폴란드 Racibörz 영어 불독
{{String split {{#invoke:carousel main name = WPDogs switchsecs = 5 }} {{!}} 2}}→ 폴란드 라시보르츠, 잉글리시 불독
Lua 패턴은 구두점 등의 문자 클래스에서 분할할 수 있습니다.
{{String split Apples, pears, oranges; Cats, dogs "%p" 2 false}}→배{{String split Apples, pears, oranges; Cats, dogs "%p" 4 false}}→ 고양이
또는 문자가 아닌 것을 분할할 수도 있습니다(no는 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 }}→ 오렌지
One2a
템플릿: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피트, 1마일.1인치드디어 혼자.외로운 사람들만.1온스.원숭이.
{{convert 1 ft spell=on}}→ 1피트(0.30m){{one2a {{convert 1 ft spell=on}}}}→ 1피트(0.30m){{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: 제목에서 기사(또는 기타 페이지)로 리다이렉트합니다.리다이렉트는 대문자가 다를 뿐입니다.
- {{템플릿 대문자}} – ?
- 모듈: String2
출력을 다시 쓰는 매직워드(복사 붙여넣기에서는 입력된 텍스트가 아닌 표시된 텍스트가 표시됩니다).
{{lc:}}– 전체 텍스트의 소문자 출력{{uc:}}– 전문 대문자 출력{{lcfirst:}}– 첫 번째 문자의 소문자 출력만 가능{{ucfirst:}}– 첫 번째 문자의 대문자와 소문자 출력만
구현 템플릿<nowiki>