Как проверить, содержит ли строка ввода какие-либо пробелы? У меня есть диалоговое окно ввода, которое запрашивает имя элемента 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) будет (немного) быстрее.
Ответ 1 Зачем использовать регулярное выражение? name.contains(" ") Это должно работать так же хорошо, и быть быстрее.
Ответ 3 Если вы будете использовать Regex, у него уже есть предопределенный класс символов "\ S" для любого символа без пробелов. !str.matches("\\S+") говорит вам, является ли это строкой хотя бы одного символа, где все символы не являются пробелами
Ответ 4 Если вы действительно хотите регулярное выражение, вы можете использовать его: str.matches(".*([ \t]).*") В том смысле, что все, что соответствует этому регулярному выражению, не является допустимым именем тега xml: if(str.matches(".*([ \t]).*")) print "the input string is not valid"