от
Я хочу разделить эту строку на 4 части. До сих пор я могу только разделить его с помощью метода
components(separatedBy:)
. Однако я хочу, чтобы я также добавил последнее слово
teamId4
на 2 части, где я могу получить
teamId
и
4
число. Все решения, на которые я смотрел, всегда содержат разделители, такие как строка с пробелами, строками, точками и т.д., что делает его довольно простым. Как я могу добиться этого вывода
player23
,
8
,
teamId
,
4
var player = "player23_8_chelseaId4"

var splittedString: [String] {
    let stringArray = player.components(separatedBy: "_")
    let playerID = stringArray[0]
    let playerIndex = stringArray[1]
    let team = stringArray[2]
    // Would like "4" as the last string in the array
    let array = [playerID, playerIndex, team]
    return array
}
Это выход пока
["player23", "8", "chelseaId4"]
Желаемый результат будет
["player23", "8", "chelseaId", "4"]
             

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.

3 Ответы

0 голосов
от
Это решение регулярного выражения. В шаблоне 4 пары скобок представляют 4 захваченных строки,
\\w 
означает один или несколько символов слова. Разделителями являются два символа подчеркивания и строка
Id
, в которой также фиксируются последние.
func splittedString(from player : String) throws 

Если вы хотите только chelsea
без
Id
, измените шаблон на
"^(\\w )_(\\w )_(\\w )Id(\\w )$"
    
0 голосов
от
var player = "player23_8_chelseaId4"

var splittedString: [String] {
    let stringArray = player.components(separatedBy: "_")
    let playerID = stringArray[0]
    let playerIndex = stringArray[1]
    let team = stringArray[2]

    let temp = team.components(separatedBy: "Id")
    // Would like "4" as the last string in the array
    let array = [playerID, playerIndex,"\(temp[0])Id" , temp[1]]
    return array
}

print(splittedString) // ["player23", "8", "chelseaId", "4"]
    
0 голосов
от
Строка "Id" после каждого названия команды? Таким образом, вы можете найти идентификатор подстроки и вырезать строку после него.     
...