28

XML 要素名を要求する入力ダイアログがあり、スペースが含まれているかどうかを確認したいと考えています。

name.matches() のようなことはできますか?

4

10 に答える 10

73

正規表現を使用する理由

name.contains(" ")

それも同様に機能し、より高速になるはずです。

于 2012-07-15T00:37:16.110 に答える
11

正規表現を使用する場合は、空白以外の文字用に事前定義された文字クラス "\S" が既にあります。

!str.matches("\\S+")

これが、すべての文字が非空白である少なくとも 1 文字の文字列であるかどうかを示します

于 2016-06-17T14:44:29.543 に答える
5
string name = "Paul Creasey";
if (name.contains(" ")) {

}
于 2012-07-15T00:36:44.890 に答える
3
if (str.indexOf(' ') >= 0)

(わずかに)高速になります。

于 2012-07-15T01:48:26.243 に答える
2

本当に正規表現が必要な場合は、これを使用できます。

str.matches(".*([ \t]).*")

この正規表現に一致するものはすべて有効な xml タグ名ではないという意味で:

if(str.matches(".*([ \t]).*")) 
      print "the input string is not valid"
于 2012-07-15T00:42:15.170 に答える