1
A
回答
5
有一個叫alpha-char-p
一個方便的標準功能,做你問什麼。
CL-USER(1): (alpha-char-p #\a)
T
CL-USER(2): (alpha-char-p #\Γ)
T
CL-USER(3): (alpha-char-p #\α)
T
CL-USER(4): (alpha-char-p #\0)
NIL
CL-USER(5): (alpha-char-p #\.)
NIL
可以在conju使用nction與every
:
CL-USER(7): (every #'alpha-char-p "word")
T
CL-USER(8): (every #'alpha-char-p "nonword7")
NIL
CL-USER(9): (every #'alpha-char-p "non-alpha-word")
NIL
CL-USER(10): (every #'alpha-char-p "今日は")
T
2
OK,我上面談到變音符號,因爲這種特殊情況下往往被忽視,下面是一個例子:
* (defparameter *weird-letter*
(coerce (list (code-char #x0438)
(code-char #x0306)) 'string))
*WEIRD-LETTER*
* *weird-letter*
"и"
* (length *weird-letter*)
2
* (every #'alpha-char-p *weird-letter*)
NIL
實際上,我不知道什麼不同的Lisp實現將盡這裏是因爲Unicode支持在其中一些中是不同的(到目前爲止我可以說)。
對於上面的代碼,預期的結果一定是T
,因爲實際上,兩個代碼點U + 0438-U + 0306構成一個帶有變音符號的單個字母。 Unicode有兩種拼寫方式,一種是單個字符,另一種是不帶變音符號和變音符號的相同字母的組合。所以,如果你想要超級正確,那麼你將不得不檢查這封信是否後面跟着變音符號,但是(注意!)只有其中一些實際上是有效的字母! Unicode是嚴重的企業...
編輯:
爲了更好地說明我的情況:
#!/opt/ActivePerl-5.14/bin/perl
binmode STDOUT, ":utf8";
my $weird_letter = "\x{0438}\x{0306}";
print "$weird_letter\n";
if ($weird_letter =~ m/^(\pL|(\pL\pM))+$/)
{ print "it is a letter!\n"; }
else { print "it is not a letter!\n"; }
上面幾乎可以公平地對待這種字符。
相關問題
- 1. Lua:如何檢查一個字符串是否只包含數字和字母?
- 2. 檢查一個字符串是否只有字母+空格?
- 3. 檢查一個字符串是否只包含某些字母
- 4. 如何檢查字符串是否只包含英文字母?
- 5. 檢查一個字符串是否包含數字和字母
- 6. 如何檢查一個字符串是否是純字母?
- 7. 如何檢查字符串中的所有字符是否都是字母?
- 8. 函數檢查字符串的第一個字符是否是一個字母
- 9. 如何檢查的字符串只是字母
- 10. 如何檢查一個字符是否是某個字母的字母?
- 11. 檢查字符串中是否有非字母和非數字
- 12. PHP檢查字符串是否包含一些字母/數字
- 13. 如何檢查字符串中的第一個字母是否是數字
- 14. 如何檢查字符串是否只包含字母數字字符和破折號?
- 15. iOS:如何檢查一個字符串是否只有數字?
- 16. 只檢查字符串除了兩個字母和數字
- 17. 如何檢查一個字符串是否只包含PHP中的字母?
- 18. 檢查字符串是否僅包含英文字母,數字和符號
- 19. 如何檢查一個字符串是否包含字母或字母和撇號,但沒有數字?
- 20. 如何檢查字符串是否有一定數量的字母和數字?
- 21. 檢查NSString是否只有字母
- 22. 檢查字符串是否包含字母數字
- 23. 如何檢查兩個字符串是否具有相同的字母,但只打印一次常用字母?
- 24. 檢查一個字符串是否是M68k中的字母數字
- 25. 檢查一個字符串是否只包含特殊字符
- 26. 檢查一個字符串是否只包含某些字符
- 27. 檢查字符串的第一個字母是否大寫
- 28. 如何檢查字符是字母還是數字?
- 29. 如何檢查用戶是否輸入了只包含字母的字符串?
- 30. 如何檢查字符串中的字符是否是字母? Python
我建議將這個問題分成兩部分。 'symbol-name'幾乎與你似乎正在呼叫的符號無關。 –