모듈:문자열/문서

Module

모듈: 문자열 (대화 내역 링크 감시 로그 편집)

이 모듈은 기본 문자열 기능에 대한 액세스를 제공하기 위한 것입니다.

여기에 제공되는 대부분의 함수는 명명된 매개 변수, 명명되지 않은 매개 변수 또는 혼합물을 사용하여 호출할 수 있습니다.명명된 매개 변수를 사용하는 경우 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}}"→ ""

참고 항목