Мне нужно разбить длинную строку с текстами песен на строки, а затем для каждой строки разделить их на слова. Я собираюсь хранить эту информацию в двумерном массиве.
Я видел несколько похожих вопросов, и они были решены с помощью [NSRegularExpression] (https://developer.apple.com/documentation/foundation/nsregularexpression)
но я не могу найти какое-либо регулярное выражение, которое равняется «все, кроме чего-то», и это то, на что я хочу разделить, разбивая строку на слова.
Точнее, я хочу разделить на Все, кроме буквенно-цифровых символов или 'или - . В Java это регулярное выражение [^\\w'-]+
Ниже приведена строка, за которой следует мой код Swift, чтобы попытаться выполнить эту задачу (я просто разделил пробел вместо того, чтобы разделить слова словами "[^ \ w '-] +", так как не могу понять, как сделать это.
1 Is this the real life?
2 Is this just fantasy?
3 Caught in a landslide,
4 No escape from reality.
5
6 Open your eyes,
7 Look up to the skies and see,
8 I'm just a poor boy, I need no sympathy,
9 Because I'm easy come, easy go,
10 Little high, little low,
11 Any way the wind blows doesn't really matter to me, to me.
12
13 Mama, just killed a man,
(и т.д.).
let lines = s?.components(separatedBy: "\n")
var all_words = [[String]]()
for i in 0..<lines!.count {
let words = lines![i].components(separatedBy: " ")
let new_words = words.filter {$0 != ""}
all_words.append(new_words)
}