|
●文字列に非ASCII文字が含まれているかを判定する
日本語など非ASCII文字が含まれているかは正規表現で判定できます。
if {[regexp {[\u0080-\uffff]} $v]} {
# 含まれている
}
|
●regsubとバックスラッシュについて
文字列$sに含まれる"."を、"a."に変換するとき、
とすると、バックスラッシュが残ってしまいます。この原因は?
これは、最初の引数{\.}は正規表現なので、
その解釈中にバックスラッシュが必要なのですが、
3番目の引数{a\.}は正規表現ではありません。
また波括弧{}で囲んだ中は改行文字\nを除き、
バックスラッシュの解釈はしないというTcl言語のルールにより、
バックスラッシュ文字が残った "a\." に変換されてしまうためです。
(first uploaded 2012/05/05 last updated 2022/09/03, MISUMI URANO)
|