틀:String split
| 이 틀은 많은 문서에서 사용 중인 틀입니다. 이 틀을 수정하면 많은 문서에 영향을 줄 수 있습니다. 기여할 모든 내용은 /연습장이나 /시험장 또는 자신의 사용자 하위 문서에서 사전 점검을 거쳐야 합니다. 이 틀을 수정하기 전에, 먼저 토론 문서에 의견을 구하시는 것이 좋습니다. |
| 이 틀은 루아를 사용합니다. |
틀:String split은 모듈:String2에 있는 split 함수의 편리한 래퍼이다.
split 함수는 구분자로 지정된 경계에서 텍스트를 분할하고 인덱스 idx(1부터 시작)에 해당하는 덩어리를 반환한다. 위치 매개변수 또는 명명된 매개변수를 사용할 수 있다(하지만 이들을 혼합해서는 안 된다):
{{#invoke:String2 |split |text |separator |index |true/false}}{{#invoke:String2 |split |txt=text |sep=separator |idx=index |plain=true/false}}
구분자 매개변수에 있는 모든 이중 따옴표(")는 제거되어 공백 및 ["[와 같은 위키텍스트가 전달될 수 있다. 파이프 문자 |에는 {{!}}을 사용한다.
선택적 plain 매개변수가 false / no / 0으로 설정되면 구분자는 Lua 패턴으로 처리된다. 기본값은 plain=true, 즉 일반 텍스트 일치이다.
index 매개변수는 선택 사항이다. 기본값은 텍스트의 첫 번째 덩어리이다. 음수 매개변수 값은 텍스트 끝에서부터 뒤로 덩어리를 센다.
예시
[편집]{{String split|This is a piece of text to be split |" "}}→ This{{String split|This is a piece of text to be split |" "| 4}}→ piece{{String split|This is a piece of text to be split |x| 2}}→ t to be split
모듈은 다음과 같이 |를 구분자로 사용하여 문자열을 반환할 수 있다: {{#invoke:carousel | main | name = WPDogs | switchsecs = 5 }} → 스크립트 오류: "carousel" 모듈이 없습니다.
{{String split|{{#invoke:carousel | main | name = WPDogs | switchsecs = 5 }}|{{!}}| 2}}→
Lua 패턴은 구두점과 같은 문자 클래스에서 분할을 허용할 수 있다:
{{String split|Apples, pears, oranges; Cats, dogs|"%p"| 2 |false}}→ pears{{String split|Apples, pears, oranges; Cats, dogs|"%p"| 4 |false}}→ Cats
또는 문자가 아닌 모든 것을 기준으로 분할한다 (no는 false로 처리됨):
{{String split|Apples pears oranges; Cats dogs|"%A+"| 4 |no}}→ Cats
명명된 매개변수는 매개변수에서 선행 및 후행 공백을 강제로 제거하며, 일반적으로 사용될 때 더 명확하다:
{{String split| txt=Apples pears oranges; Cats dogs | sep="%A+" | idx=3 | plain=false }}→ oranges
음수 인덱스는 텍스트 끝에서부터 역으로 센다:
{{String split|txt=This is a piece of text to be split |sep=" " |idx=-1}}→ split
음수 매개변수를 사용할 때 흔히 저지르는 실수는 이름 없는 매개변수로 전달될 때 텍스트의 후행 공백이 빈 마지막 덩어리를 유발한다는 것을 잊는 것이다:
{{String split|This is a piece of text to be split |" "|-1}}→{{String split|This is a piece of text to be split|" "|-1}}→ split