Разделить строку по двум условиям

1

Мне нужно разбить эту строку на

val str="s: saturday, sunday, solar, selfie"

в массив

s,saturday,sunday,solar,selfie

в scala 2.10

  • 3
    str.replaceAll(":" , "").split(','); ?
  • 9
    или split("[:,] ")
Показать ещё 1 комментарий
Теги:
string
split

2 ответа

5
Лучший ответ

в Java вы должны написать

String text = "s: saturday, sunday, solar, selfie";
String[] words = text.split("[:,] ");

Это разделится на : или , затем пробел. Если пространство необязательно, вы можете использовать "[:,]?"

  • 1
    scala похож на java, только мы должны поставить val вместо String[] ;)
3

С точки зрения разделяемой строки:

val text = "s: saturday, sunday, solar, selfie"
val words = text.split("[:,] ")

Scala использует тот же метод, что и в java.lang.String.


В качестве альтернативы, с точки зрения регулярного выражения:

val str = "s: saturday, sunday, solar, selfie"
val regex = "[:,] ".r
val words = regex.split(str)

Возможно, интересно, если регулярное выражение сложное, и вы хотите его повторно использовать несколько раз. .r - метод в StringLike который возвращает Regex.

  • 0
    +1 для "перспективы строки, которая будет разделена". Столько постмодернистского освещения с точки зрения угнетенных.
  • 0
    @ som-snytt Ну, я не являюсь носителем английского языка, поэтому я даже не знал, какой текст я написал. Ну да, свобода для жетонов :-)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню