文字列型
作者: 小見 拓
—
最終変更
2012年01月08日 12時14分
文字列型
- 「"(ダブルクォート)」か「'(シングルクォート)」で囲むと、文字列として扱われる。
:echo "Hello World" "# => Hello World :echo 'Hello World' "# => Hello World
- 「"(ダブルクォート)」「'(シングルクォート)」では、文字列中の「\」の扱いが違う。
:echo "Hello\ World" "# => Hello World :echo 'Hello\ World' "# => Hello\ World
- 正規表現を含む文字列を扱う場合、「\」が頻出するので「'(シングルクォート)」を使うと良い。
:let str = 'Hello Hello Hello' :let found = match(str, '\( Hello\)\{2}', '') :echo found "# => 5
文字列の操作
- 文字列を連結する。
:echo "AAA" . "BBB" "# => AAABBB
- 文字列の長さを調べる。
:echo strlen("AAA") "# => 3 :echo strlen("マルチバイトな日本語文字列") "# => 26 :echo strlen(substitute("マルチバイトな日本語文字列", ".", "x", "g")) "# => 13
- 部分文字列の抜き出し。
:echo "ABCDEFGHIJ"[3] "# => D :echo "ABCDEFGHIJ"[3:] "# => DEFGHIJ :echo "ABCDEFGHIJ"[3:6] "# => DEFG :echo strpart("ABCDEFGHIJ", 3, 1) "# => D :echo strpart("ABCDEFGHIJ", 3) "# => DEFGHIJ :echo strpart("ABCDEFGHIJ", 3, 4) "# => DEFG :echo "マルチバイトな日本語文字列"[7:8] "# => 文字化け :let splitted = split("マルチバイトな日本語文字列", '\zs') :echo join(splitted[4:6], "") "# => イトな
- 文字列の検索。
:echo stridx("ABCDEFGABCDEFG", "CDE") "# => 2 :echo strridx("ABCDEFGABCDEFG", "CDE") "# => 9 :echo match("ABCDEFGABCDEFG", "CDE") "# => 2 :echo match("ABCABCABC", "ABC$") "# => 6
- 文字列の分割。
:echo split("AAA,BBB,CCC,DDD,EEE", ",") "# => ['AAA', 'BBB', 'CCC', 'DDD', 'EEE']
- 文字列の置換。
:echo substitute("ABCDEFGABCDEFG", "AB", "HIJ", "g") "# => HIJCDEFGHIJCDEFG :let var = "ABCDEFGABCDEFG" :let replaced = substitute(var, "AB", "HIJ", "g") :echo var "# => ABCDEFGABCDEFG :echo replaced "# => HIJCDEFGHIJCDEFG
Recent Comments
ありがとうございます!
http://nanasi.jp/articles/howto/editing/visualcursor-endtoend.html · 8 years ago
知りませんでした。有難うございました。
http://nanasi.jp/articles/howto/file/open-with-format.html · 9 years ago
<c-f>1ページ分、下にスクロールする<c-b>1ページ分、上にスクロールする
どっちも逆です。
http://nanasi.jp/articles/howto/user-manual/user-manual-motion.html · 10 years ago
set 使用時に : で閉じるのを忘れて右往左往してました。
http://nanasi.jp/articles/howto/file/modeline.html · 11 years ago
やっぱり日本語の方が早いっす。
http://nanasi.jp/articles/howto/help/help_ja.html · 12 years ago