Как разделить строку с символами пробела в качестве разделителей?

Google поднял страницу на сайте Sun, которая немного обсуждает это.

Вы правы в переменной; this действительно может использоваться для дифференциации переменной метода из поля класса. [f1]

Однако, я действительно ненавижу это соглашение. Предоставление двух разных переменных буквально одинаковых имен - это рецепт ошибок. Я предпочитаю что-то вроде: [f2]

Те же результаты, но без шансов на ошибку, когда вы случайно ссылаетесь на x, когда вы действительно хотели ссылаться на x.

Что касается использования этого метода, вы правы в отношении эффектов; вы получите те же результаты с или без него. Вы можете использовать его? Конечно. Должны ли вы использовать его? До вас, но, учитывая, что я лично считаю бессмысленной многословность, которая не добавляет ясности (если код не заполнен статическими операторами импорта), я не склонен использовать его сам.

530
задан JNYRanger 22 May 2015 в 15:18
поделиться

3 ответа

Что-то в строках [1 111]

myString.split("\\s+");

Это группирует все пробелы как разделитель.

Поэтому, если у меня есть строка:

"Hello[space][tab]World"

Это должно привести к строкам "Hello" и "World" и опустить вакуум между [space] и [tab].

, Поскольку VonC указал, обратной косой черты нужно оставить, потому что Java сначала попытался бы выйти из строки к специальному символу и отправить что , чтобы быть проанализированным. То, что Вы хотите, является литералом "\s", что означает, необходимо передать "\\s". Это может стать немного сбивающим с толку.

Эти \\s эквивалентно [ \\t\\n\\x0B\\f\\r]

926
ответ дан Henrik Paul 22 May 2015 в 15:18
поделиться

На большинстве regex диалектов существует ряд удобных символьных сводок, которые можно использовать для такого рода вещи - это хорошие для запоминания:

\w - Соответствия любой словесный символ.

\W - Соответствия любой несловесный символ.

\s - Соответствия любой пробельный символ.

\S - Соответствия что-либо кроме пробельных символов.

\d - Соответствия любая цифра.

\D - Соответствия что-либо кроме цифр.

поиск А "Regex Cheatsheets" должен вознаградить Вас большим количеством полезных сводок.

85
ответ дан Amit Joki 22 May 2015 в 15:18
поделиться

" \\s +" должен добиться цели

35
ответ дан VonC 22 May 2015 в 15:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: