1

文字列が単一の単語であることを確認する方法は?

これは正しい方法ですか?

set st "some string"

if { [llength $st] != 1 } {
   puts "error"
}
4

3 に答える 3

2

考えられる定義の 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]
于 2013-08-16T12:40:11.737 に答える
1

regexp\w単語をand と一致させる簡単な方法を提供します\W\w単語文字に一致し、単語文字以外\Wの任意の文字に一致します。

set st "some string"
if { [regexp {\W} $st] } {
   puts "error"
}

ただし、、および(任意の組み合わせ)のみに\w一致します。単語に特殊文字が含まれている場合、これは機能しません。digitsalphabets_

于 2013-08-16T10:56:05.940 に答える