모듈:문자열/문서
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}}"→ ""