Как проверить, содержит ли строка ввода какие-либо пробелы?

У меня есть диалоговое окно ввода, которое запрашивает имя элемента XML, и я хочу проверить его, есть ли у него пробелы.

Можно ли сделать что-то вроде name.matches()?

Ответ 1

Зачем использовать регулярное выражение?

name.contains(" ")

Это должно работать так же хорошо, и быть быстрее.

Ответ 2

string name = "Paul Creasey";
if (name.contains(" ")) {

}

Ответ 3

Если вы будете использовать Regex, у него уже есть предопределенный класс символов "\ S" для любого символа без пробелов.

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

говорит вам, является ли это строкой хотя бы одного символа, где все символы не являются пробелами

Ответ 4

Если вы действительно хотите регулярное выражение, вы можете использовать его:

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

В том смысле, что все, что соответствует этому регулярному выражению, не является допустимым именем тега xml:

if(str.matches(".*([ \t]).*")) 
      print "the input string is not valid"

Ответ 5

if (str.indexOf(' ') >= 0)

будет (немного) быстрее.