모듈:끈
Module| 이 Lua 모듈은 시스템 메시지 및 약 11,400,000 페이지, 즉 전체 페이지의 약 19%에 사용됩니다. 변경하면 Wikipedia 사용자 인터페이스가 즉시 변경될 수 있습니다. 큰 중단과 서버 로드를 방지하려면 모듈의 /sandbox 또는 /testcase 하위 페이지 또는 자체 모듈 샌드박스에서 변경 사항을 테스트해야 합니다.테스트된 변경 사항은 한 번의 편집으로 이 페이지에 추가할 수 있습니다.변경 사항을 구현하기 전에 대화 페이지에서 변경 사항에 대해 논의하십시오. |
| 이 모듈은 페이지 보호 대상입니다.매우 많은 페이지에서 사용 중이거나 매우 자주 교체되는 가시성이 높은 모듈입니다.파괴 행위나 실수는 많은 페이지에 영향을 미치고 사소한 편집도 서버에 상당한 부하를 줄 수 있으므로 편집으로부터 보호됩니다. |
이 모듈은 기본 문자열 기능에 대한 액세스를 제공하기 위한 것입니다.
여기에 제공되는 대부분의 함수는 명명된 매개 변수, 명명되지 않은 매개 변수 또는 혼합물을 사용하여 호출할 수 있습니다.명명된 매개 변수를 사용하는 경우 Mediawiki는 매개 변수에서 선행 또는 후행 공백을 자동으로 제거합니다.사용 용도에 따라 이러한 빈 공간을 보존하거나 제거하는 것이 유리할 수 있습니다.
전역 옵션
- ignore_message
- 'true' 또는 '1'로 설정하면 모든 오류 조건에서 오류 메시지가 아닌 빈 문자열이 반환됩니다.
- error_message
- 오류가 발생하면 오류 메시지에 포함할 범주의 이름을 지정합니다.기본 범주는 범주:모듈 문자열(11)에서 오류를 보고했습니다.
- no_continue
- 'true' 또는 '1'로 설정하면 오류가 발생해도 범주가 추가되지 않습니다.
이 모듈에 대한 유닛 테스트는 다음 모듈에서 확인할 수 있습니다.문자열/테스트 사례.
렌
이 함수는 대상 문자열의 길이를 반환합니다.
용도:
{{#invoke:String len target_string}}
OR
{{#invoke:String len s= target_string }}
매개 변수:
- s
- 길이를 보고할 문자열
예:
{{#invoke:String len abcdefghi }}→ 11{{#invoke:String len s= abcdefghi }}→ 9
후보선수
이 함수는 지정된 포함 단일 인덱스 인덱스에서 대상 문자열의 하위 문자열을 반환합니다.
용도:
{{#invoke:String sub target_string start_index end_index}}
OR
{{#invoke:String sub s= target_string i= start_index j= end_index }}
매개 변수:
- s
- 부분 집합을 반환하는 문자열
- i
- 반환할 하위 문자열의 첫 번째 인덱스는 기본값으로 1입니다.
- j
- 반환할 문자열의 마지막 인덱스이며 기본값은 마지막 문자입니다.
문자열의 첫 번째 문자에는 인덱스 1이 할당됩니다.i 또는 j 중 하나가 음수 값이면 문자열 끝부터 세어 문자를 선택하는 것과 동일하게 해석됩니다.따라서 -1의 값은 문자열의 마지막 문자를 선택하는 것과 같습니다.
요청된 인덱스가 지정된 문자열의 범위를 벗어나면 오류가 보고됩니다.오류 메시지를 방지하려면 {{#invoke:ustring sub}}을(를) 대신 사용하십시오.
예:
"{{#invoke:String sub abcdefghi }}""abcdefghi""{{#invoke:String sub s= abcdefghi }}""capt defghi""{{#invoke:String sub abcdefghi 3 }}""bcdefghi""{{#invoke:String sub s= abcdefghi i= 3 }}""cdefghi""{{#invoke:String sub abcdefghi 3 4 }}""bc""{{#invoke:String sub s= abcdefghi i= 3 j= 4 }}""cd"
서브렝스
이 기능은 {{str subold}}의 기능을 구현하며, 이러한 오래된 템플릿을 유지하기 위해 유지됩니다.지정된 인덱스에서 시작하여 지정된 길이의 대상 문자열의 하위 문자열을 반환합니다.
용도:
{{#invoke:String sublength s= target_string i= start_index len= length }}
매개 변수:
- s
- 현
- i
- 반환할 하위 문자열의 시작 인덱스입니다.문자열의 첫 번째 문자에는 인덱스 0이 할당됩니다.
- 렌
- 반환할 문자열의 길이이며 기본값은 마지막 문자입니다.
예:
{{#invoke:String sublength s= abcdefghi }}abcdefghi{{#invoke:String sublength s= abcdefghi i= 3 }}데프기{{#invoke:String sublength s= abcdefghi i= 3 len= 4 }}데프그
경기
이 함수는 지정된 패턴과 일치하는 소스 문자열의 하위 문자열을 반환합니다.
용도:
{{#invoke:String match source_string pattern_string start_index match_number plain_flag nomatch_output}}
OR
{{#invoke:String match s= source_string pattern= pattern_string start= start_index match= match_number plain= plain_flag nomatch= nomatch_output }}
매개 변수:
- s
- 검색할 문자열
- 양식
- 문자열 내에서 찾을 패턴 또는 문자열
- 시작
- 검색을 시작할 원본 문자열 내의 인덱스입니다.문자열의 첫 번째 문자에는 색인 1이 있습니다.기본값은 1입니다.
- 경기
- 경우에 따라 단일 문자열에서 여러 개의 일치 항목을 만들 수 있습니다.반환할 일치 항목을 지정합니다. 여기서 첫 번째 일치 항목은 match= 1입니다. 음수가 지정되면 마지막 일치 항목부터 카운트하여 일치 항목이 반환됩니다.따라서 match = -1은 마지막 일치를 요청하는 것과 동일합니다.기본값은 1입니다.
- 평지
- 패턴을 Scribuntustring 패턴(유니코드 친화적인 Lua 스타일 정규 표현식)이 아닌 일반 텍스트로 이해해야 함을 나타내는 부울 플래그입니다.기본값은 false입니다(변경하려면:
plain=true) - 비길 데 없는
- 일치하는 항목이 없으면 오류 대신 "일치하지 않음" 값을 출력합니다.
- ignore_message
- 일치하는 항목이 없고 ignore_interval=true인 경우 오류가 아닌 빈 문자열을 출력합니다.
match_number 또는 start_index가 쿼리 중인 문자열의 범위를 벗어나면 이 함수는 오류를 생성합니다.일치하는 항목이 없는 경우에도 오류가 발생합니다.ignore_message=true 매개 변수를 추가하면 오류가 억제되고 오류 발생 시 빈 문자열이 반환됩니다.
정규 표현식의 한 형태인 Lua 패턴 구성에 대한 내용은 다음을 참조하십시오.
예:
{{#invoke:String match abc123def456 %d+}}→ 123{{#invoke:String match s= abc123def456 pattern= %d+ }}→ 123{{#invoke:String match abc123def456 %d+ 6}}→ 23{{#invoke:String match s= abc123def456 pattern= %d+ start= 6 }}→ 3{{#invoke:String match s= abc123def456 pattern= %d+ start= 6 match= 2 }}→ 456{{#invoke:String match s= abc123%d+ pattern= %d+ }}→ 123{{#invoke:String match s= abc123%d+ pattern= %d+ plain= true }}%d+{{#invoke:String match s= abc pattern= %d }}문자열 모듈 오류: 일치 항목을 찾을 수 없습니다.{{#invoke:String match s= abc pattern= %d nomatch= No numeric characters in string }}문자열에 숫자가 없습니다.{{#invoke:String match s= abc pattern= %d ignore_errors= true }}→{{#invoke:String match s= 0012001200 pattern= 0*(%d*) }}→ 12001200
포스
이 함수는 위치 pos의 대상 문자열에서 단일 문자를 반환합니다.
용도:
{{#invoke:String pos target_string index_value}}
OR
{{#invoke:String pos target= target_string pos= index_value }}
매개 변수:
- 표적의
- 검색할 문자열
- 포스
- 반환할 문자의 인덱스
첫 번째 문자의 인덱스 값은 1입니다.
음수 값을 요청하면 이 함수는 문자열 끝에서 뒤로 카운트하여 문자를 선택합니다.즉, pos = -1은 마지막 문자를 요청하는 것과 같습니다.
요청된 값이 0이거나 문자열 길이보다 큰 값은 오류를 반환합니다.
예:
{{#invoke:String pos abcdefghi 4 }}다{{#invoke:String pos target= abcdefghi pos= 4 }}디
str_find
이 함수는 모든 쿼크를 포함하여 {{str_find}}의 동작을 복제합니다.이는 기존 템플릿을 지원하기 위해 제공되지만 새 코드 및 템플릿에는 권장되지 않습니다.대신 "찾기" 기능을 사용하는 것이 좋습니다.
"source"에서 "target"과 일치하는 첫 번째 인덱스를 반환합니다.인덱싱은 1 기반이며, "대상" 문자열이 "소스"에 없으면 함수가 -1을 반환합니다.
중요 참고:대상 문자열이 비어 있거나 누락된 경우 이 함수는 일반적으로 예기치 않은 동작인 "1" 값을 반환하므로 별도로 설명해야 합니다.
용도:
{{#invoke:String str_find source_string target_string}}
OR
{{#invoke:String str_find source= source_string target= target_string }}
매개 변수:
- 원천
- 검색할 문자열
- 표적의
- 소스 내에서 찾을 문자열
예:
{{#invoke:String str_find abc123def }}→ 1{{#invoke:String str_find source= abc123def }}→ 1{{#invoke:String str_find abc123def 123}}→ 5{{#invoke:String str_find source= abc123def target= 123 }}→ 4{{#invoke:String str_find abc123def not}}→ -1
찾아내다
이 함수를 사용하면 다른 문자열 내에서 대상 문자열 또는 패턴을 검색할 수 있습니다.
용도:
{{#invoke:String find source_string target_string start_index plain_flag}}
OR
{{#invoke:String find source= source_string target= target_string start= start_index plain= plain_flag }}
매개 변수:
- 원천
- 검색할 문자열
- 표적의
- 소스 내에서 찾을 문자열 또는 패턴
- 시작
- 검색을 시작할 원본 문자열 내의 인덱스이며 기본값은 1입니다.
- 평지
- 대상을 Scribuntustring 패턴(유니코드 친화적인 Lua 스타일 정규 표현식)이 아닌 일반 텍스트로 이해해야 함을 나타내는 부울 플래그. 기본값은 true입니다.
이 함수는 "source" 내에서 "target"을 찾을 수 있는 첫 번째 인덱스 >= "start"를 반환합니다.인덱스는 1을 기준으로 합니다."target"을 찾을 수 없으면 이 함수는 0을 반환합니다."source" 또는 "target" 중 하나가 없거나 비어 있으면 이 함수도 0을 반환합니다.
이 기능은 UTF-8 문자열에 대해 안전해야 합니다.
예:
{{#invoke:String find abc123def 12}}→ 4{{#invoke:String find source=abc123def target=12}}→ 4{{#invoke:String find source=abc123def target=pqr}}→ 0{{#invoke:String find abc123def 123}}→ 5{{#invoke:String find source= abc123def target= 123 }}→ 4{{#invoke:String find source=abc123def target=%d start=3 plain=false }}→ 4
명명되지 않은 매개 변수를 사용할 경우 앞과 뒤의 공백이 유지되고 카운트됩니다.
{{#invoke:String find abc123def c false}}→ 5{{#invoke:String find source= abc123def target=c plain=false}}→ 3{{#invoke:string find abc 123 def %s plain=false}}→ 4
문자열이 있는지 테스트하는 중:
{{#ifexpr:{{#invoke:string find haystack needle}} Found needle Didn't find needle}}바늘을 찾지 못했습니다.
대체(gsub)
이 함수를 사용하면 다른 문자열 내의 대상 문자열 또는 패턴을 바꿀 수 있습니다.Lua 프로그래머에게: 이 기능은 내부적으로 통화를 통해 작동합니다.mw.ustring.gsub.
용도:
{{#invoke:String replace source_str pattern_string replace_string replacement_count plain_flag}}
OR
{{#invoke:String replace source= source_string pattern= pattern_string replace= replace_string count= replacement_count plain= plain_flag }}
매개 변수:
- 원천
- 검색할 문자열
- 양식
- 소스 내에서 찾을 문자열 또는 패턴
- 교체하다
- 대체 텍스트
- 세어보세요
- 바꿀 발생 횟수. 기본값은 all입니다.
- 평지
- 패턴을 Scribuntustring 패턴(유니코드 친화적인 Lua 스타일 정규 표현식)이 아닌 일반 텍스트로 이해해야 함을 나타내는 부울 플래그. 기본값은 true입니다.
예:
"{{#invoke:String replace abc123def456 123 XYZ}}"" abcXYZdef456 ""{{#invoke:String replace source= abc123def456 pattern= 123 replace= XYZ }}""abcX"YZdef456""{{#invoke:String replace abc123def456 %d+ XYZ 1 false}}"" abcXYZdef456 ""{{#invoke:String replace source= abc123def456 pattern= %d+ replace= XYZ count=1 plain= false }}""abcX"YZdef456""{{#invoke:String replace source= abc123def456 pattern= %d+ replace= XYZ plain= false }}""abcX"YZdefXYZ"{{#invoke:String replace source= 0012001200 pattern= ^0* plain= false }}→ 12001200
대리인
문자열을 n번 반복합니다.string.rep to 템플릿을 파이프로 연결하는 간단한 함수입니다.
용도:
{{#invoke:String rep source count}}
매개 변수:
- 원천
- 반복할 문자열
- 세어보세요
- 반복 횟수입니다.
예:
"{{#invoke:String rep hello 3}}""안녕 안녕""{{#invoke:String rep hello 3 }}""안녕 안녕 안녕"
이스케이프 패턴
Lua 패턴에서 클래스 문자를 리터럴 문자로 변경합니다.예: 패턴, 문자."임의의 문자"를 캡처합니다. 이스케이프 패턴이 이 문자를 다음으로 변환합니다.%.문자 그대로의 "."만 잡는 것.
용도:
{{#invoke:String escapePattern pattern_string}}
매개 변수:
- pattern_string
- 이스케이프할 패턴 문자열
예:
"{{#invoke:String escapePattern A.D.}}""A.D.%.""{{#invoke:String escapePattern 10%}}"→ "10%%"
세어보세요
이 모듈로 전달되는 인수에 지정된 패턴이 나타나는 횟수를 카운트합니다.분리된 일치 항목만 카운트합니다.
용도:
{{#invoke:String count source_str pattern_string plain_flag}}
OR
{{#invoke:String count source= source_string pattern= pattern_string plain= plain_flag }}
매개 변수:
- source_string
- 발생 횟수를 계산할 문자열
- 양식
- 소스 내 발생 횟수를 셀 문자열 또는 패턴
- 평지
- 패턴을 Scribuntustring 패턴(유니코드 친화적인 Lua 스타일 정규 표현식)이 아닌 일반 텍스트로 이해해야 함을 나타내는 부울 플래그. 기본값은 true입니다.
예:
- 'a' 카운트:
"{{#invoke:String count aabbcc a}}"→ "2" - 'aba' 발생 횟수:
"{{#invoke:String count ababababab aba}}"→ "2" - "'a' 또는 'c'"의 카운트:
"{{#invoke:String count aabbcc [ac] plain=false}}"→ "4" - "'a'가 아닌"의 개수:
"{{#invoke:String count aaabaaac [^a] plain=false}}"→ "2" - 'a'로 시작하는 횟수:
"{{#invoke:String count aaabaaac ^a plain=false}}"→ "1"
합류하다
인수로 전달된 모든 문자열을 하나의 문자열로 결합하여 첫 번째 인수를 구분 기호로 처리합니다.
용도:
{{#invoke:String join separator string1 string2 ...}}
매개 변수:
- 구분자
- 함께 결합되는 각 문자열을 구분하는 문자열
- 선행 및 후행 공백은 구분 기호에서 제거되지 않습니다.
- string1/string2/...
- 함께 연결되는 문자열
예:
"{{#invoke:String join x foo bar baz}}""fooksbarxbaz""{{#invoke:String join a b c d e f g}}""sysdefg""{{#invoke:String join , a b c d e f g}}""a,b,c,d,e,f,g""{{#invoke:String join , a b c d e f g}}""a, b, c, d, e, f, g""{{#invoke:String join – a b c d e f g}}""a – b – c – d – e – f – g"
위의 예에서는 HTML 엔터티 –를 사용하지만 유니코드 문자도 작동합니다.
로 끝나다.
용도:
{{#invoke:String endswith source_str search_string}}
OR
{{#invoke:String endswith source= source_string pattern= search_string}}
원본 문자열이 검색 문자열로 끝나는 경우 "예"를 반환합니다.사용하기 전에 문자열을 잘라내려면 명명된 매개 변수를 사용합니다.매개 변수 이름에도 불구하고 search_string은 Lua 패턴이 아니며 문자 그대로 해석됩니다.
"{{#invoke:String endswith xxxyyy y}}""예""{{#invoke:String endswith xxxyyy z}}"→ ""
참고 항목
--[[ 이 모듈은 기본 문자열 기능에 대한 액세스를 제공하기 위한 것입니다. 여기에 제공되는 대부분의 함수는 명명된 매개 변수를 사용하여 호출할 수 있습니다. 이름 없는 매개 변수 또는 혼합물입니다.명명된 매개 변수를 사용할 경우 Mediawiki는 매개 변수에서 선행 또는 후행 공백을 자동으로 제거합니다. 용도에 따라 보존하거나 보존하는 것이 유리할 수 있습니다. 공백을 제거합니다. 전역 옵션 ignore_errors: 'true' 또는 1로 설정하면 오류 조건이 발생합니다. 오류 메시지가 아닌 빈 문자열이 반환되었습니다. error_category: 오류가 발생할 경우 다음과 같은 범주의 이름을 지정합니다. 오류 메시지와 함께 포함합니다.기본 범주: [범주:모듈 문자열]에서 오류를 보고했습니다. no_category: 'true' 또는 1로 설정하면 오류가 발생하면 카테고리가 추가되지 않습니다. 생성됩니다. 이 모듈에 대한 유닛 테스트는 다음 모듈에서 확인할 수 있습니다.문자열/테스트. ]] 현지의 스트르 = {} --[[ 렌 이 함수는 대상 문자열의 길이를 반환합니다. 용도: {{#선택사항:stringlen target_string }} OR {{#선택사항:문자열 렌즈=target_string}} 매개변수 s: 보고할 길이의 문자열 명명된 매개 변수를 사용하여 호출되면 Mediawiki는 자동으로 선행 또는 대상 문자열의 뒤에 공백이 있습니다. ]] 기능. 스트르.렌( 틀 ) 현지의 새_인수 = 스트르._ 매개 변수 가져오기( 틀.논병아리, {'s'} ) 현지의 s = 새_인수['s'] 또는 '' 돌아가다 mw.ustring.렌( s ) 끝. --[[ 후보선수 이 함수는 지정된 인덱스에서 대상 문자열의 하위 문자열을 반환합니다. 용도: {{#선택사항:문자열 하위 대상_string start_index end_index}} OR {{#선택사항:문자열 subs=target_string i=start_index j=end_index}} 매개변수 s: 하위 집합을 반환하는 문자열 i: 반환할 하위 문자열의 첫 번째 인덱스이며 기본값은 1입니다. j: 반환할 문자열의 마지막 인덱스로, 기본값은 마지막 문자입니다. 문자열의 첫 번째 문자에는 인덱스 1이 할당됩니다.i 또는 j 중 하나일 경우 음의 값입니다. 문자를 선택하는 것과 동일하게 해석됩니다. 줄의 끝에서 세는 것.따라서 -1의 값은 다음과 같습니다. 문자열의 마지막 문자를 선택합니다. 요청된 인덱스가 지정된 문자열의 범위를 벗어나면 오류가 다음과 같습니다. 보고된 ]] 기능. 스트르.후보선수( 틀 ) 현지의 새_인수 = 스트르._ 매개 변수 가져오기( 틀.논병아리, { 's', '나', 'j' } ) 현지의 s = 새_인수['s'] 또는 '' 현지의 i = 수에 달하여( 새_인수['나'] ) 또는 1 현지의 j = 수에 달하여( 새_인수['j'] ) 또는 -1 현지의 렌 = mw.ustring.렌( s ) 범위 점검을 위해 음극 변환 한다면 i < 0 그리고나서 i = 렌 + i + 1 끝. 한다면 j < 0 그리고나서 j = 렌 + j + 1 끝. 한다면 i > 렌 또는 j > 렌 또는 i < 1 또는 j < 1 그리고나서 돌아가다 스트르._오류( '문자열 부분 집합 인덱스가 범위를 벗어남' ) 끝. 한다면 j < i 그리고나서 돌아가다 스트르._오류( '부분 집합 인덱스 문자열 순서가 잘못되었습니다.' ) 끝. 돌아가다 mw.ustring.후보선수( s, i, j ) 끝. --[[ 이 기능은 {{str subold}}의 특징을 구현하고 있으며, 정돈되어 있습니다. 이 오래된 템플릿을 유지 관리합니다. ]] 기능. 스트르.서브렝스( 틀 ) 현지의 i = 수에 달하여( 틀.논병아리.i ) 또는 0 현지의 렌 = 수에 달하여( 틀.논병아리.렌 ) 돌아가다 mw.ustring.후보선수( 틀.논병아리.s, i + 1, 렌 그리고. ( i + 렌 ) ) 끝. --[[ _일치 이 함수는 소스 문자열에서 다음과 일치하는 부분 문자열을 반환합니다. 지정된 패턴.다른 모듈에서 사용하기 위해 내보냅니다. 용도: strmatch = require("모듈:문자열")._일치 sresult = strmatch(s, 패턴, 시작, 일치, 일반, 일치 없음) 매개변수 s: 검색할 문자열 패턴:문자열 내에서 찾을 패턴 또는 문자열 start: 검색을 시작할 원본 문자열 내의 인덱스입니다.첫번째 문자열의 문자에 인덱스 1이 있습니다.기본값은 1입니다. 일치: 경우에 따라 단일 항목에서 여러 개의 일치 항목을 만들 수 있습니다. 현을 매다반환할 일치 항목을 지정합니다. 첫 번째 일치 항목은 match= 1. 음수가 지정되면 일치 항목이 반환됩니다. 지난 경기부터 세어 봅니다.따라서 match = -1은 요청과 동일합니다. 최후의 승부기본값은 1입니다. 플레인: 패턴이 플레인으로 이해되어야 함을 나타내는 플래그 텍스트. 기본값은 false입니다. 일치하지 않음: 일치하는 항목이 없으면 오류가 아닌 "일치하지 않음" 값을 출력합니다. [정규식]의 한 형태인 Lua 패턴 구성에 대한 자세한 내용은 다음을 참조하십시오. * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] 이 하위 루틴은 다른 모듈에서 사용하기 위해 내보냅니다. 기능. 스트르._일치( s, 양식, 시작, match_index, 평이한, 비길 데 없는 ) 한다면 s == '' 그리고나서 돌아가다 스트르._오류( '대상 문자열이 비어 있습니다.' ) 끝. 한다면 양식 == '' 그리고나서 돌아가다 스트르._오류( '패턴 문자열이 비어 있습니다.' ) 끝. 시작 = 수에 달하여(시작) 또는 1 한다면 수학, 수학, 수학 시험답(시작) < 1 또는 수학, 수학, 수학 시험답(시작) > mw.ustring.렌( s ) 그리고나서 돌아가다 스트르._오류( '요청된 시작이 범위를 벗어났습니다.' ) 끝. 한다면 match_index == 0 그리고나서 돌아가다 스트르._오류( '일치 색인이 범위를 벗어났습니다.' ) 끝. 한다면 평이한 그리고나서 양식 = 스트르._탈출 패턴( 양식 ) 끝. 현지의 결과 한다면 match_index == 1 그리고나서 첫 번째 일치 항목 찾기는 간단한 경우입니다. 결과 = mw.ustring.경기( s, 양식, 시작 ) 또 다른 한다면 시작 > 1 그리고나서 s = mw.ustring.후보선수( s, 시작 ) 끝. 현지의 반복자 = mw.ustring.성냥(s, 양식) 한다면 match_index > 0 그리고나서 전방 검색 위해서 w 안에 반복자 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 match_index = match_index - 1 한다면 match_index == 0 그리고나서 결과 = w 브레이크. 끝. 끝. 또 다른 역검색 현지의 결과_표 = {} 현지의 세어보세요 = 1 위해서 w 안에 반복자 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 결과_표[세어보세요] = w 세어보세요 = 세어보세요 + 1 끝. 결과 = 결과_표[ 세어보세요 + match_index ] 끝. 끝. 한다면 결과 == 영의 그리고나서 한다면 비길 데 없는 == 영의 그리고나서 돌아가다 스트르._오류( '일치 항목을 찾을 수 없음' ) 또 다른 돌아가다 비길 데 없는 끝. 또 다른 돌아가다 결과 끝. 끝. --[[ 경기 이 함수는 소스 문자열에서 다음과 일치하는 부분 문자열을 반환합니다. 지정된 패턴. 용도: {{#선택사항:문자열 일치 source_string pattern_string start_index match_number plain_flag nomatch_output}} OR {{#선택사항:문자열 일치 = source_string pattern = start_string start = start_index match=match_number plain=match_notmatch=nomatch_output}} 매개변수 s: 검색할 문자열 패턴:문자열 내에서 찾을 패턴 또는 문자열 start: 검색을 시작할 원본 문자열 내의 인덱스입니다.첫번째 문자열의 문자에 인덱스 1이 있습니다.기본값은 1입니다. 일치: 경우에 따라 단일 항목에서 여러 개의 일치 항목을 만들 수 있습니다. 현을 매다반환할 일치 항목을 지정합니다. 첫 번째 일치 항목은 match= 1. 음수가 지정되면 일치 항목이 반환됩니다. 지난 경기부터 세어 봅니다.따라서 match = -1은 요청과 동일합니다. 최후의 승부기본값은 1입니다. 플레인: 패턴이 플레인으로 이해되어야 함을 나타내는 플래그 텍스트. 기본값은 false입니다. 일치하지 않음: 일치하는 항목이 없으면 오류가 아닌 "일치하지 않음" 값을 출력합니다. 명명된 매개 변수를 사용하여 호출되면 Mediawiki는 자동으로 선행 또는 각 문자열의 뒤에 오는 공백입니다.어떤 상황에서는 이것이 바람직합니다. 다른 경우에는 공백을 보존할 수 있습니다. match_number 또는 start_index가 쿼리 중인 문자열의 범위를 벗어나면 이 함수는 오류를 생성합니다.일치하는 항목이 없는 경우에도 오류가 발생합니다. ignore_message=true 매개 변수를 추가하면 오류가 억제되고 모든 실패 시 빈 문자열이 반환됩니다. [정규식]의 한 형태인 Lua 패턴 구성에 대한 자세한 내용은 다음을 참조하십시오. * http://www.lua.org/manual/5.1/manual.html#5.4.1 * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns * http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns ]] #invoke의 시작 지점입니다.문자열 일치 기능. 스트르.경기( 틀 ) 현지의 새_인수 = 스트르._ 매개 변수 가져오기( 틀.논병아리, {'s', '''비공식''', '시작', '성냥', '''비공식''', '무적'} ) 현지의 s = 새_인수['s'] 또는 '' 현지의 시작 = 수에 달하여( 새_인수['시작'] ) 또는 1 현지의 평이한 = 스트르._Boolean을 구함( 새_인수['''비공식'''] 또는 거짓의 ) 현지의 양식 = 새_인수['''비공식'''] 또는 '' 현지의 match_index = 수학.플로어( 수에 달하여(새_인수['성냥']) 또는 1 ) 현지의 비길 데 없는 = 새_인수['무적'] 돌아가다 스트르._일치( s, 양식, 시작, match_index, 평이한, 비길 데 없는 ) 끝. --[[ 포스 이 함수는 위치 pos의 대상 문자열에서 단일 문자를 반환합니다. 용도: {{#선택사항:문자열 pos target_string index_value}} OR {{#선택사항:문자열 pos target=target_string pos=index_value} 매개변수 대상:검색할 문자열 pos: 반환할 문자의 인덱스 명명된 매개 변수를 사용하여 호출되면 Mediawiki는 자동으로 선행 또는 대상 문자열의 뒤에 공백이 있습니다.어떤 상황에서는 이것이 바람직합니다. 다른 경우에는 공백을 보존할 수 있습니다. 첫 번째 문자의 인덱스 값은 1입니다. 음수 값을 요청하면 이 기능은 거꾸로 카운트하여 문자를 선택합니다. 줄의 끝에서부터.즉, pos = -1은 마지막 문자를 요청하는 것과 같습니다. 요청된 값이 0이거나 문자열 길이보다 큰 값은 오류를 반환합니다. ]] 기능. 스트르.포스( 틀 ) 현지의 새_인수 = 스트르._ 매개 변수 가져오기( 틀.논병아리, {'대상', 'pos'} ) 현지의 target_str = 새_인수['대상'] 또는 '' 현지의 포스 = 수에 달하여( 새_인수['pos'] ) 또는 0 한다면 포스 == 0 또는 수학, 수학, 수학 시험답(포스) > mw.ustring.렌( target_str ) 그리고나서 돌아가다 스트르._오류( '문자열 인덱스가 범위를 벗어남' ) 끝. 돌아가다 mw.ustring.후보선수( target_str, 포스, 포스 ) 끝. --[[ str_find 이 함수는 모든 쿼크를 포함하여 {{str_find}}의 동작을 복제합니다. 이는 기존 템플릿을 지원하기 위해 제공되지만 권장되지는 않습니다. 새 코드 및 템플릿.대신 "찾기" 기능을 사용하는 것이 좋습니다. "source"에서 "target"과 일치하는 첫 번째 인덱스를 반환합니다.인덱싱은 1 기반입니다. 함수는 "source"에 "target" 문자열이 없으면 -1을 반환합니다. 중요 참고:"target" 문자열이 비어 있거나 누락된 경우 이 함수는 다음을 반환합니다. "1"의 값은 일반적으로 예상치 못한 동작이며, 반드시 설명되어야 합니다. 따로따로 ]] 기능. 스트르.str_find( 틀 ) 현지의 새_인수 = 스트르._ 매개 변수 가져오기( 틀.논병아리, {'소스', '대상'} ) 현지의 source_str = 새_인수['소스'] 또는 '' 현지의 target_str = 새_인수['대상'] 또는 '' 한다면 target_str == '' 그리고나서 돌아가다 1 끝. 현지의 시작 = mw.ustring.찾아내다( source_str, target_str, 1, 진실의 ) 한다면 시작 == 영의 그리고나서 시작 = -1 끝. 돌아가다 시작 끝. --[[ 찾아내다 이 기능을 사용하면 다른 대상 문자열 또는 패턴을 검색할 수 있습니다. 현을 매다 용도: {{#선택사항:문자열 찾기 source_str target_string start_index plain_flag} OR {{#선택사항:문자열 찾기 source=source_str target=target_str start=start_index plain=filename_target} 매개변수 출처:검색할 문자열 대상:소스 내에서 찾을 문자열 또는 패턴 start: 검색을 시작할 소스 문자열 내의 인덱스이며 기본값은 1입니다. 플레인: 대상을 플레인으로 이해해야 함을 나타내는 부울 플래그 Lua 스타일 정규식이 아닌 텍스트, 기본값은 true입니다. 명명된 매개 변수를 사용하여 호출되면 Mediawiki는 자동으로 선행 또는 매개 변수의 뒤에 공백이 있습니다.어떤 상황에서는 이것이 바람직합니다. 다른 경우에는 공백을 보존할 수 있습니다. 이 함수는 첫 번째 인덱스 >= "시작"을 반환합니다. 여기서 "대상"을 찾을 수 있습니다. "출처" 내에서.인덱스는 1을 기준으로 합니다."target"을 찾을 수 없는 경우, 다음과 같이 됩니다. 함수는 0을 반환합니다."source" 또는 "target" 중 하나가 누락되거나 비어 있으면 다음과 같습니다. 함수는 또한 0을 반환합니다. 이 기능은 UTF-8 문자열에 대해 안전해야 합니다. ]] 기능. 스트르.찾아내다( 틀 ) 현지의 새_인수 = 스트르._ 매개 변수 가져오기( 틀.논병아리, {'소스', '대상', '시작', '''비공식''' } ) 현지의 source_str = 새_인수['소스'] 또는 '' 현지의 양식 = 새_인수['대상'] 또는 '' 현지의 start_pos = 수에 달하여(새_인수['시작']) 또는 1 현지의 평지 = 새_인수['''비공식'''] 또는 진실의 한다면 source_str == '' 또는 양식 == '' 그리고나서 돌아가다 0 끝. 평지 = 스트르._Boolean을 구함( 평지 ) 현지의 시작 = mw.ustring.찾아내다( source_str, 양식, start_pos, 평지 ) 한다면 시작 == 영의 그리고나서 시작 = 0 끝. 돌아가다 시작 끝. --[[ 교체하다 이 기능을 사용하면 다른 대상 문자열 또는 패턴을 대체할 수 있습니다. 현을 매다 용도: {{#선택사항:문자열 바꾸기 source_str pattern_string replace_string replace_string replace_count plain_flag} OR {{#선택사항:문자열 바꾸기 source=source_string pattern=source_string replace=replace_string count=교체_count plain=count_discount} 매개변수 출처:검색할 문자열 패턴:소스 내에서 찾을 문자열 또는 패턴 대체:대체 텍스트 count: 바꿀 발생 횟수. 기본값은 all입니다. 플레인: 패턴을 플레인으로 이해해야 함을 나타내는 부울 플래그 Lua 스타일 정규식이 아닌 텍스트, 기본값은 true입니다. ]] 기능. 스트르.교체하다( 틀 ) 현지의 새_인수 = 스트르._ 매개 변수 가져오기( 틀.논병아리, {'소스', '''비공식''', '바꾸기', '카운트', '''비공식''' } ) 현지의 source_str = 새_인수['소스'] 또는 '' 현지의 양식 = 새_인수['''비공식'''] 또는 '' 현지의 교체하다 = 새_인수['바꾸기'] 또는 '' 현지의 세어보세요 = 수에 달하여( 새_인수['카운트'] ) 현지의 평지 = 새_인수['''비공식'''] 또는 진실의 한다면 source_str == '' 또는 양식 == '' 그리고나서 돌아가다 source_str 끝. 평지 = 스트르._Boolean을 구함( 평지 ) 한다면 평지 그리고나서 양식 = 스트르._탈출 패턴( 양식 ) 교체하다 = mw.ustring.gsub( 교체하다, "%%", "%%%%" ) --교체 시퀀스만 이스케이프하면 됩니다. 끝. 현지의 결과 한다면 세어보세요 ~= 영의 그리고나서 결과 = mw.ustring.gsub( source_str, 양식, 교체하다, 세어보세요 ) 또 다른 결과 = mw.ustring.gsub( source_str, 양식, 교체하다 ) 끝. 돌아가다 결과 끝. --[[ string.rep to 템플릿을 파이프로 연결하는 단순 함수입니다. ]] 기능. 스트르.대리인( 틀 ) 현지의 반복 = 수에 달하여( 틀.논병아리[2] ) 한다면 것은 아니다. 반복 그리고나서 돌아가다 스트르._오류( 'function rep는 숫자를 두 번째 매개 변수로 예상합니다. 수신됨' .. ( 틀.논병아리[2] 또는 '' ) .. '"' ) 끝. 돌아가다 string.rep( 틀.논병아리[1] 또는 '', 반복 ) 끝. --[[ 이스케이프 패턴 이 함수는 Lua 문자열 패턴에서 특수 문자를 이스케이프합니다.[1] 참조 패턴의 작동 방식에 대한 자세한 내용을 확인합니다. [1] https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns 용도: {{#선택사항:문자열 이스케이프 패턴_string} 매개변수 pattern_string:이스케이프할 패턴 문자열입니다. ]] 기능. 스트르.이스케이프 패턴( 틀 ) 현지의 pattern_str = 틀.논병아리[1] 한다면 것은 아니다. pattern_str 그리고나서 돌아가다 스트르._오류( '패턴 문자열이 지정되지 않음' ) 끝. 현지의 결과 = 스트르._탈출 패턴( pattern_str ) 돌아가다 결과 끝. --[[ 세어보세요 이 함수는 다른 문자열에서 한 문자열이 발생하는 횟수를 계산합니다. ]] 기능. 스트르.세어보세요(틀) 현지의 논병아리 = 스트르._ 매개 변수 가져오기(틀.논병아리, {'소스', '''비공식''', '''비공식'''}) 현지의 원천 = 논병아리.원천 또는 '' 현지의 양식 = 논병아리.양식 또는 '' 현지의 평지 = 스트르._Boolean을 구함(논병아리.평지 또는 진실의) 한다면 평지 그리고나서 양식 = 스트르._탈출 패턴(양식) 끝. 현지의 _, 세어보세요 = mw.ustring.gsub(원천, 양식, '') 돌아가다 세어보세요 끝. --[[ 로 끝나다. 이 함수는 문자열이 다른 문자열로 끝나는지 여부를 결정합니다. ]] 기능. 스트르.로 끝나다.(틀) 현지의 논병아리 = 스트르._ 매개 변수 가져오기(틀.논병아리, {'소스', '''비공식'''}) 현지의 원천 = 논병아리.원천 또는 '' 현지의 양식 = 논병아리.양식 또는 '' 한다면 양식 == '' 그리고나서 모든 문자열은 빈 문자열로 끝납니다. 돌아가다 "예" 끝. 한다면 mw.ustring.후보선수(원천, -mw.ustring.렌(양식), -1) == 양식 그리고나서 돌아가다 "예" 또 다른 돌아가다 "" 끝. 끝. --[[ 합류하다 비어 있지 않은 모든 인수를 함께 조인합니다. 첫 번째 인수는 구분 기호입니다. 용도: {{#선택사항:끈 연결 sep 하나 둘 셋} ]] 기능. 스트르.합류하다(틀) 현지의 논병아리 = {} 현지의 셉 위해서 _, v 안에 짝을 짓다( 틀.논병아리 ) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 한다면 셉 그리고나서 한다면 v ~= '' 그리고나서 표.삽입(논병아리, v) 끝. 또 다른 셉 = v 끝. 끝. 돌아가다 테이블.콘캣( 논병아리, 셉 또는 '' ) 끝. --[[ 사용자가 다음을 혼합하여 사용해야 할 수 있는 인수 목록을 채우는 도우미 함수 명명된 매개 변수와 명명되지 않은 매개 변수입니다.명명된 매개 변수가 아니기 때문에 관련이 있습니다. 문자열 트리밍으로 인해 이름이 지정되지 않은 매개 변수와 동일하며 문자열을 처리할 때 응용프로그램에 따라 해당 빈 공간을 보존하거나 제거하고 싶을 때가 있습니다. ]] 기능. 스트르._ 매개 변수 가져오기( frame_, arg_list ) 현지의 새_인수 = {} 현지의 색인을 달다 = 1 현지의 가치 위해서 _, 아그 안에 짝을 짓다( arg_list ) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 가치 = frame_[아그] 한다면 가치 == 영의 그리고나서 가치 = frame_[색인을 달다] 색인을 달다 = 색인을 달다 + 1 끝. 새_인수[아그] = 가치 끝. 돌아가다 새_인수 끝. --[[ 오류 메시지를 처리하는 도우미 기능입니다. ]] 기능. 스트르._오류( error_str ) 현지의 틀 = mw.현재 프레임 가져오기() 현지의 error_message = 틀.논병아리.error_message 또는 '모듈 문자열에 의해 오류가 보고됨' 현지의 ignore_message = 틀.논병아리.ignore_message 또는 거짓의 현지의 no_continue = 틀.논병아리.no_continue 또는 거짓의 한다면 스트르._Boolean을 구함(ignore_message) 그리고나서 돌아가다 '' 끝. 현지의 error_str = '<strong class="오류"> 문자열 모듈 오류: ' .. error_str .. '/강함' 한다면 error_message ~= '' 그리고. 것은 아니다. 스트르._Boolean을 구함( no_continue ) 그리고나서 error_str = '[[범주:' .. error_message .. ']]' .. error_str 끝. 돌아가다 error_str 끝. --[[ 부울 문자열을 해석하는 도우미 기능 ]] 기능. 스트르._Boolean을 구함( boolean_str ) 현지의 boolean_value 한다면 유형( boolean_str ) == '끈' 그리고나서 boolean_str = boolean_str:더 낮게() 한다면 boolean_str == '거짓' 또는 boolean_str == '아니오' 또는 boolean_str == '0' 또는 boolean_str == '' 그리고나서 boolean_value = 거짓의 또 다른 boolean_value = 진실의 끝. 그렇지 않으면 유형( boolean_str ) == '''비공식''' 그리고나서 boolean_value = boolean_str 또 다른 오류( '부울 값을 찾을 수 없습니다.' ) 끝. 돌아가다 boolean_value 끝. --[[ 모든 패턴 문자를 제거하여 처리하는 도우미 기능 평이한 텍스트로 ]] 기능. 스트르._탈출 패턴( pattern_str ) 돌아가다 mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" ) 끝. 돌아가다 스트르 