틀:Str find word
보이기
| 이 틀은 알파 버전입니다. 사용은 할 수 있지만, 일부 문서에서 문제가 발생하는지 확인해볼 필요가 있습니다. 새로운 기능이나 입력, 출력의 구조 변화를 받아들이고 있습니다. |
| 이 틀은 루아를 사용합니다. |
이 틀은 쉼표로 구분된 단어 목록에서 단어를 찾습니다. 단어를 찾으면 True (찾음), 찾지 못하면 False (찾지 못함) 값을 반환합니다.
기본적으로 True 값은 찾은 단어 자체를 반환하고, False 값은 빈 문자열을 반환합니다.
{{Str find word |source=alpha, foo, bar |word=foo}}(True) → foo{{Str find word |source=alpha, foo, bar |word=nov}}(False) →
부분 일치는 허용되지 않습니다. 부분 단어 일치는 적중으로 간주되지 않습니다.
{{Str find word |source=alpha, foobar, bar |word=foo}}(False) →
대소문자 구분: 기본적으로 비교는 대소문자를 구분합니다 (Foo ≠ foo); 모든 텍스트는 소문자로 변환됩니다. |case=true를 사용하면 대소문자를 구분하도록 설정할 수 있습니다.
{{Str find word |source=alpha, Foo, bar |word=foo |case=false}}(True) → foo{{Str find word |source=alpha, Foo, bar |word=foo |case=true}}(False) →
이 틀을 사용하면 편집자는 패턴('%f[^,][^,]+%f[,]')을 적용할 필요가 없습니다. 반환 값 해석도 필요하지 않지만 (when 1 then do x처럼), 선택적으로 가능합니다. 중간 결과는 없습니다. 논리는 T 또는 F 중 하나를 말합니다. 논리는 오류를 발생시키지 않습니다.
옵션
[편집]True 및 False 반환 값은 |yes=, |no=를 통해 설정할 수 있습니다.
{{Str find word |source=alpha, foo, bar |word=foo |yes=Yesss |no=Nooo}}(True) → Yesss{{Str find word |source=alpha, foo, bar |word=nov |yes=Yesss |no=Nooo}}(False) → Nooo
세부 사항
[편집]- 단어
- '단어'는 쉼표 사이에 있는 문자열입니다. 여기에는 모든 문자와 내부 공백이 포함될 수 있습니다.
{{Str find word |source=alpha, foo bar sunday, bar |word=foo bar sunday}}(True) → foo bar sunday{{Str find word |source=alpha, bar(22) [take care]!, foo |word=bar(22) [take care]!}}(True) → bar(22) [take care]!
- 반환 값
- True 및 False 값은
|yes=,|no=를 통해 설정할 수 있습니다. {{Str find word |source=alpha, foo, bar |word=foo |yes=Yesss |no=Nooo}}(True) → Yesss{{Str find word |source=alpha, foo, bar |word=nov |yes=Yesss |no=Nooo}}(False) → Nooo
- 부울 값 읽기
|booleans=true를 설정하면 일반적인 부울 단어를 부울로 읽습니다 (true, false).- true에 해당하는 부울 단어: 'True', 'T', 'Yes', '1'. false: 'False', 'F', 'No', '0'. 부울 단어는 항상 대소문자를 구분하지 않습니다 (True=true).
{{Str find word |source=alpha, yes, bar |word=true |booleans=true}}(True) → true{{Str find word |source=alpha, false, bar |word=0 |booleans=true}}(True) → false{{Str find word |source=alpha, false, bar |word=0 |booleans=false}}(기본값) (False) →
단어 목록
[편집]단어 목록 |source=는 쉼표로 구분됩니다. 접두사와 접미사 공백은 제거됩니다 (트림됨).
- alpha, foo, bar
- 내부 공백은 유지되며 '단어'의 일부입니다.
- alpha, foo, hello world, bar
- ⟨,⟩ 쉼표를 제외한 모든 문자는 단어의 일부가 될 수 있습니다.
- α(12) [mind the gap]!, foo, hello world, bar
- 문자열 내부의 여러 공백(공백 문자)은 단일 공백으로 줄어듭니다.
- alpha, foo bar,
- 다음과 같습니다. alpha, foo bar,
- 공백 ⟨ ⟩, 쉼표 ⟨,⟩, 따옴표 ⟨"⟩, 파이프 ⟨|⟩
- 공백 트림
- 모든 단어는 검사 전에 트림됩니다 (앞뒤 공백은 제거되고, 반복되는 내부 공백은 단일 공백으로 줄어듭니다).
{{Str find word |source=alpha , hello world, foo |word=hello world}}(True) → hello world- ...하지만 단어 내부에 남아있는 공백은 중요합니다.
{{Str find word |source=alpha, hello world, foo |word=helloworld}}(False) →
- 쉼표 ⟨,⟩
- 쉼표 ⟨,⟩가 확인하려는 단어의 일부인 경우. 쉼표를 포함하는 단어 문자열은 리터럴로 만들 수 있습니다 (쉼표를 이스케이프합니다).
TODO check this doc claim {{Str find word |source=alpha, "hello, world", foo |word="hello, world"}}(True) → "hello,world"- ??chk:
{{Str find word |source=alpha, "hello, world", foo |word="hello, world"|literals=false}}(True) → "hello,world" - ??chk:
{{Str find word |source=alpha, "hello, world", foo |word="hello, world"|literals=true}}(True) → "hello,world"
- 따옴표 문자 ⟨"⟩
- 반대로, 단어의 일부인 따옴표 문자 ⟨"⟩는
|literals=false를 설정하여 이스케이프됩니다. {{Str find word |source=alpha, she said "hello world", "foo" |word=she said "hello world" |literals=false}}(True) → she said "hello world"
- 파이프 ⟨|⟩
- 파이프 문자는
{{!}}로 입력할 수 있습니다. {{Str find word |source=alpha, hello{{!}}world, foo |word=hello{{!}}world }}(True) → hello|world
여러 단어 확인
[편집]원본 단어 목록에 대해 여러 단어를 확인할 수 있습니다.
- AND-단어 확인
|andwords=: 단어 목록을 가질 수 있습니다 (|source=와 같이 쉼표로 구분됨). 각 단어는 원본과 비교됩니다. 모든 and-단어가 발견되면 반환 값은 True입니다.{{Str find word |source=alpha, beta, gamma, foo, bar |andwords=alpha, foo}}(True) → alpha,foo{{Str find word |source=alpha, beta, gamma, foo, bar |andwords=bar, foo, beta, alpha}}(True) → bar,foo,beta,alpha{{Str find word |source=alpha, beta, gamma, foo, bar |andwords=alpha, nov}}(False) →
- OR-단어 확인
|orwords=: 단어 목록을 가질 수 있습니다 (|source=와 같이 쉼표로 구분됨). 각 단어는 원본과 비교됩니다. 하나의 or-단어라도 발견되면 반환 값은 True입니다. 기본 True 반환 값은 발견된 모든 단어의 목록입니다.{{Str find word |source=alpha, beta, gamma, foo, bar |orwords=alpha, foo}}(True) → alpha{{Str find word |source=alpha, happy, gamma, nice, foo, bar |orwords=april, sad, happy, ugly, nice}}(True) → happy,nice{{Str find word |source=alpha, happy, gamma, nice, foo, bar |orwords=sad, ugly, november}}(False) →
- AND-단어, OR-단어 모두 확인
|andwords=, :|orwords=를 함께 사용할 수 있습니다. 각 단어 목록은 자체적인 논리적 검사를 거칩니다 (AND-단어는 모두 존재해야 하고; OR-단어는 하나 이상 존재해야 합니다).- T:
{{Str find word |source=alpha, beta, april, gamma, foo, happy |andwords=alpha, beta |orwords=april, november, sad, ugly}}(True) → alpha,beta,april {{Str find word |source=alpha, beta, april, gamma, foo, happy |andwords=alpha, november |orwords=april, november, sad, ugly}}(False) →
예시
[편집]|source= |
|word= |
결과 | 비고 | |
|---|---|---|---|---|
|source=alpha, foo, lima |
|word=foo |
foo | ||
|source=alpha, foo, lima |
|word=nov |
|||
|source=alpha, uc-all |
|word=uc-all |
uc-all | ||
|source=alpha, hello world_, bar |
|word=hello world_ |
hello world_ | 쉼표는 단어 구분자입니다 | |
|source=alpha,foo bar , lima |
|word= foo bar |
foo bar | 공백은 트림되고, 여러 공백은 하나의 공백으로 바뀝니다. | |
|source=alpha, foo bar, lima |
|word=foobar |
내부 공백도 문자입니다. | ||
|source=alpha, FOO, bAr, lima |
|word=bar, foo |
기본적으로 대소문자를 구분하지 않습니다. | ||
|source=alpha, FOO, bAr, lima |
|word=bar, foo |
|case=true: 대소문자를 구분합니다. | ||
내용주
[편집]- 편집자는
[%a%d]*와 같은 Lua 패턴을 적용할 필요가 없습니다. - 편집자는 반환 값을 해석할 필요가 없습니다 (예: "='blue'일 때 ..."). 값(예-값, 아니오-값)을 지정할 수도 있습니다.
사용법
[편집]기본
[편집]핵심 기능:
{{Str find word
|source =
|word =
|yes =
|no =
}}
- 원본에서 단어가 발견되면 (True), 함수는 단어 자체를 반환합니다 (기본값). 또는 (비어 있지 않은 경우)
|yes=값을 반환합니다. - 발견되지 않으면 (False), 함수는 빈 문자열 (
)을 반환합니다. 또는|no=값이 입력된 경우 해당 값을 반환합니다.
|source= |
|word= |
결과 | 비고 | |
|---|---|---|---|---|
|source=alpha, foo, lima |
|word=foo |
foo | ||
|source=alpha, uc-all |
|word=uc-all |
uc-all | "-" (하이픈)은 단어의 일부입니다. | |
|source=alpha, do_something, white |
|word=do_something |
do_something | "_" (밑줄)은 단어의 일부입니다. | |
|source=alpha, foo, lima |
|word=november |
|||
|source=alpha, foobar, lima |
|word=foo |
'foo'는 완전한 단어가 아닙니다. | ||
|source=alpha, foo, lima |
|word= |
|word=가 입력되지 않았습니다. | ||
|source=alpha, foo, lima |
|word=foobar |
Yes, hit | 원본에 완전한 단어 foo-bar가 없습니다. | |
|source=alpha, foo, lima |
|word=foobar |
No, not found | 원본에 완전한 단어 foo가 없습니다. | |
... |yes=Yes, hit |no=Not found | ||||
|source=alpha, foo, lima |
|word=foo |
Yes, hit | ||
|source=alpha, foo, lima |
|word=foobar |
No, not found | ||
모든 매개변수
[편집]- 모든 매개변수, 세 가지 옵션
{{Str find word
|string =
|word =
|allwords =
|orwords =
|case=
|yes =
|no =
|explain =
}}
|
{{Str find word
|s =
|w =
|allw=
|orw =
|case=
|yes =
|no =
|explain =
}}
|
{{Str find word |s= |w= |allw= |orw= |case= |yes= |no= |explain=}}
더 많은 옵션
[편집]|source=|s= |1= |
|word=|w= |2= |
|case= |
결과 | 비고 | |
|---|---|---|---|---|---|
|s=alpha, foo, lima |
|w=foo |
yes | |||
|s=alpha, foo, lima |
|w=foobar |
no | |||
|s=alpha, foobar, lima |
|w=foo |
no | 'foo'는 완전한 단어가 아닙니다. | ||
|s=alpha, FOO, lima |
|w=foo |
yes | |case=false: a=A (기본값) | ||
|s=alpha, FOO, lima |
|w=foo |
no | |case=true: a=/=A | ||
단어 목록
[편집]- 확인할 단일 단어 대신 '대상 단어 목록'을 입력할 수 있습니다:
|word=alpha, foo, bingo. 이|word=목록은 AND 논리로 처리됩니다. 즉, 각 단어와 모든 단어가 존재해야 합니다. 다음을 참조하세요.
AND, OR 단어 목록 확인
[편집]|word=는 위에서 언급했듯이 단어 목록이 될 수 있습니다. 모든 단어는 AND 조건(각 단어가 존재해야 함)으로 확인됩니다.|andwords=는 AND 조건(각 단어가 존재해야 함)으로 확인될 단어 목록을 허용합니다.|word=,|andwords=가 모두 존재하면 하나의 AND 단어 목록으로 결합됩니다.
|orwords=는 OR 조건(단어 중 적어도 하나는 존재해야 함)으로 확인될 단어 목록을 허용합니다.
오류 및 분석
[편집]- 논리 자체는 오류를 생성하지 않습니다. 항상 True 또는 False 결과가 있습니다.
- 알 수 없는 매개변수를 사용하는 페이지는 분류:Category:Pages using str find word with unknown parameters (0)에 나열됩니다.
- 논리적 오류는 예상되지 않습니다. 입력에 결함이 있으면 False 결과가 반환됩니다 (예: 확인할 입력 문자열이 입력되지 않음).
|explain=true: 미리 보기에서 입력, 출력 및 논리적 단계 (디버그)에 대한 보고서를 표시합니다.|explain=testcases: ns Template 또는 User의 하위 페이지 /testcases에 설정하면 미리 보기 보고서가 고정적으로 표시됩니다 (영구적으로 표시됨).