文字列が単一の単語であることを確認する方法は?
これは正しい方法ですか?
set st "some string"
if { [llength $st] != 1 } {
puts "error"
}
文字列が単一の単語であることを確認する方法は?
これは正しい方法ですか?
set st "some string"
if { [llength $st] != 1 } {
puts "error"
}
考えられる定義の 1 つによれば、次を使用して、文字列が 1 つの単語であるかどうかを確認します。
catch {set oneWord 0;set oneWord [expr {[llength $string] == 0}]}
それが単語のTcl 言語定義です。
一方、優先する定義が「英数字」である場合は、次のような他の可能性があります。
# -strict excludes the empty string (normally included for historic reasons)
set oneWord [string is alnum -strict $string]
regexp
\w
単語をand と一致させる簡単な方法を提供します\W
。\w
単語文字に一致し、単語文字以外\W
の任意の文字に一致します。
set st "some string"
if { [regexp {\W} $st] } {
puts "error"
}
ただし、、および(任意の組み合わせ)のみに\w
一致します。単語に特殊文字が含まれている場合、これは機能しません。digits
alphabets
_