{{str left}}
틀은 文字列을 指定한 길이로 만들어 주는 틀입니다. 주어진 文字列이 指定한 길이보다 길면 자르고, 짧으면 反復합니다.
使用法
이 틀을 쓸 때에는 다음과 같이 2個의 이름 없는 媒介變數를 씁니다.
코드 길이를 最適化하고 誤謬 發生 可能性을 줄이려면 다음과 같이 씁니다. 文字列에 等號(=)가 包含된 境遇의 잘못된 動作을 防止합니다.
- 길이(媒介變數 2)가 잘못된 수이거나 비어 있으면, 텅 빈 文字列을 出力합니다. 길이가 아예 美定義되어 있으면 1로 看做됩니다.
- 출력되는 結果는 最大 500者입니다. 그 以上의 文字列은 잘립니다.
- 다른 틀을 使用하지 않으므로 서버 部下가 적습니다.
- 주어진 文字列에 連續된 空白이나 위키 마크업 表現 等이 들어 있으면 意圖하지 않은 結果를 出力할 수도 있습니다. '使用 예' 文壇과 '制限點 및 알려진 버그' 文段을 參考하세요.
使用 예
簡單한 使用 예:
入力
|
結果
|
{{str left | ABC XYZ | 5 }}
|
ABC X
|
{{str left | ABC XYZ | 10 }}
|
ABC XYZABC
|
{{str left | ABC XYZ | 1 }}
|
A
|
{{str left | ABC XYZ | 0 }}
|
|
{{str left | ABC XYZ | }}
|
|
{{str left | ABC XYZ }}
|
A
|
주어진 文字列 안의 空白( )도 한 文字로 取扱되며, 連續된 空白도 그 數 만큼 文字로 取扱됩니다. 單, 出力에서는 重複된 空白이나 文字列 끝의 空白은 사라집니다. 다음 例를 參考하세요.
入力
|
結果
|
{{str left | 3 spaces here. | 5 }}
|
3 spa
|
{{str left | 3 spaces here. | 4 }}
|
3 sp
|
한글처럼,
유니코드
에는 指定되어 있으나
아스키 코드
에 美包含된 文字를 文字列로 指定하면 한 文字의
바이트
에 相關 없이 文字 數를 셉니다. 過去에 問題가 있던 機能으로, 現在 韓國語版 위키百科에서는 올바르게 動作합니다.
버그질라:16852
參考.
入力
|
結果
|
{{str left | 少年이여 野望을 가져라 | 7 }}
|
少年이여 野望
|
{{str left | ace | 5 }}
|
aceac
|
萬若 文字列에 等號(=)가 包含되어 있으면 틀 使用時 이름 있는 媒介變數로 取扱되기 때문에 誤謬가 생깁니다. 이를 防止하기 위해서는 이름 있는 媒介變數를 使用하면 됩니다. 媒介變數 이름으로는 1, 2를 쓰면 됩니다. 다음 例는 文字列 'ab=cde'를 다섯 字로 맞추는 것을 意圖하는 코드입니다.
入力
|
結果
|
說明
|
{{str left | 1= ab=cde | 2= 5 }}
|
ab=cd
|
(올바른 예) 올바르게 動作函.
|
{{str left | ab=cde | 5 }}
|
5
|
(잘못된 예) 엉뚱한 結果가 출력됨.
|
制限點 및 알려진 버그
이 틀은
위키百科 매직워드
人 {{padleft:}}를 變則的으로 使用합니다. 틀에 주어진 文字列을 {{padleft:}}의 세 番째 媒介變數로 入力하는데, {{padleft:}} 機能은 그에 對해 별다른 誤謬 檢證을 하지 않기 때문에 文字列의 有效 文字 數를 잘못 셀 수 있습니다. 또한 該當 媒介變數는 그 크기가 500字로 制限됩니다.
文字列에
文字 參照
가 包含될 境遇 다음과 같이 잘못 處理될 수 있습니다.
入力
|
結果
|
說明
|
{{str left | a c | 3 }}
|
a&n
|
'a c'를 意圖한 入力.
|
{{str left | a c | 8 }}
|
a c
|
文字參照 가 6者의 文字로 處理되어 출력되고, 이것이
브라우저
에서 空白으로 處理됨.
|
{{str left | aBc | 3 }}
|
a&#
|
'abc'를 意圖한 入力.
|
{{str left | a c | 3 }}
|
a&#
|
'a c'를 意圖한 入力.
|
文字列에 위키 마크업 表現이 使用될 境遇 잘못 處理될 수 있습니다. <nowiki> 태그는 內部的으로 固有의 制御門을 통해 處理됩니다. 制御門은 制御 文字 \x07(
BELL
)과 'UNIQ'로 始作하여 'QINU'와 制御 文字로 끝나는 43바이트 길이의 文字列입니다. 이 制御門은 最終的으로 生成된 HTML 페이지에서는 標示되지 않아야 正常입니다. 그러나 다음과 같이 制御門이 그대로 出力될 수도 있습니다.
버그질라:22555
參考.
入力
|
結果
|
說明
|
{{str left | a<nowiki/>bc | 3 }}
|
abc
|
'abc'를 意圖한 入力이나 制御門의 첫 두 바이트가 출력됨.
|
{{str left | a<nowiki/>bc | 43 }}
|
abcabcabcabcabcabcabcabcabcabcabcabcabcabca
|
制御門 中 42바이트가 출력됨.
|
{{str left | a<nowiki/>bc | 44 }}
|
abcabcabcabcabcabcabcabcabcabcabcabcabcabcab
|
制御門 43바이트가 43個의 文字로 處理 및 出力되었으나 最終 HTML 페이지 生成 過程에서 사라짐.
|
{{str left | a<nowiki/>bc | 45 }}
|
abcabcabcabcabcabcabcabcabcabcabcabcabcabcabc
|
制御門 43바이트가 끝나고 'b'가 출력됨.
|
<nowiki>의 境遇와 달리, HTML 主席이나 <noinclude>, <includeonly> 等의 위키 마크업 表現은 올바르게 處理됩니다. 이는 該當 表現이 매직워드까지 넘어가지 않고 틀 自體에서 前處理되기 때문입니다.
入力
|
結果
|
{{str left | a<noinclude/>bc | 3 }}
|
abc
|
{{str left | a<!-- 主席 -->bc | 3 }}
|
abc
|
같이 보기
文字列 處理 틀 둘러보기
|
---|
|
---|
길이別
| {{
str mid
}}
| 文字列 中에서 指定한 位置로부터 始作되는 指定한 길이의 文字列을 返還합니다. 첫 番째 文字는 1로 셉니다.
| {{
str sub old
}}
| 文字列 中에서 指定한 位置로부터 指定한 길이의 文字列을 返還합니다. 첫 番째 文字는 0으로 셉니다.
| {{
str sub new
}}
| 文字列의 X 番째 文字에서 Y 番째 文字까지를 返還합니다.
| {{
str index
}}
| 文字列의 X 番째 文字를 返還합니다.
|
| {{
trunc
}}
| 文字列의 앞 X 文字를 返還합니다. 길이를 指定하지 않거나 數字 以外의 境遇에는 文字列을 그대로 返還합니다.
| {{
str left
}}
| 文字列의 앞 X 文字를 返還합니다. 길이를 指定하지 않으면 첫 番째 文字를, 數字가 아닌 境遇에는 空白을 返還합니다.
| {{
str right
}}
| 文字列의 앞 X 文字를 除去합니다.
| {{
str rightc
}}
| 文字列의 뒤에서부터 세어서 X 番째 文字까지를 返還합니다. 入力 文字列이 空白이면 返還할 文字列을 指定할 수 있습니다.
| {{
str rightmost
}}
| 文字列의 뒤에서부터 세어서 X番째 文字까지 返還합니다.
| {{
str crop
}}
| 文字列의 끝 X 文字를 除去합니다.
| |
|
---|
內容別
| |
---|
門署名 專用
|
| {{
ship prefix
}}
| 英語 船舶 이름에서 命칙의 接頭辭(HMS, SS 等)의 길이를 返還합니다.
| {{
title year
}}
| 文書 이름에서 네 자리 年度를 抽出해서 返還합니다.
| |
|
---|
|
|
文字列의 揷入, 置換, 길이 判定
|
---|
{{
循環
}}
| 文字列을 指定한 回數만큼 反復하여 返還합니다.
| {{
代替
}}
| 文字列 A에 包含되는 文字列 B를 ‘모두’ 文字列 C로 바꿉니다.
| {{
str rep
}}
| 文字列 A에 包含되는 文字列 B를 ‘앞에 있는 첫 番째 것만’ 文字列 C로 바꿉니다.
| {{
digits
}}
| 文字列에서 數字가 아닌 文字를 除去합니다.
|
|
{{
str len
}}
| 文字列의 길이를 返還합니다.
| {{
str ≥ len
}}
| 文字列의 길이가 X보다 크거나 같은지, 아니면 작은지를 判定합니다.
| {{
str ≤ len
}}
| 文字列의 길이가 X보다 작거나 같은지, 아니면 큰지를 判定합니다.
| {{
str ≠ len
}}
| 文字列의 길이가 X와 같은지, 아니면 같지 않은지를 判定합니다.
| |
|
|
|
모듈, 特殊函數, 파서函數
|
---|
- 모듈:String
,
모듈:String2
: 大部分의 文字列 處理 函數를 內藏한 모듈.
- 特殊函數
:
{{padleft:|}}
,
{{lc:|}}
,
{{formatnum:|}}
等
- 파서函數
:
{{#titleparts:|}}
,
{{#expr:|}}
,
{{#ifeq:|}}
等
|
|
|