как я могу добавить дополнительные пробелы перед любым специальным символом

Как добавить дополнительные пробелы перед любым специальным символом в строке, в Swift, например, если у меня есть строка

var str = "#StackOverFlow@is$awesome"

 " #StackOverFlow  @is  $awesome"   // i have to achieve this...add empty spaces before every # 

как мы можем решить и достичь этого в Swift

1 ответ

Решение

Вы можете использовать регулярное выражение для соответствия любому специальному символу "[^\\w]" что означает любой символ, не являющийся словом, и заменить его тем же совпадением "$0"предшествуют пробелы. Если вы хотите исключить замену пробелов, вы можете использовать"[^\\w|\\s]":

let str =  "#StackOverFlow#is#awesome"
let result = str.replacingOccurrences(of: "[^\\w]",
                          with: "   $0",
                          options: .regularExpression)


print(result)  // "   #StackOverFlow   #is   #awesome\n"

let str2 =  "•StackOverFlow•is•awesome"
let result2 = str2.replacingOccurrences(of: "[^\\w]",
                          with: "   $0",
                          options: .regularExpression)


print(result2)  // "   •StackOverFlow   •is   •awesome\n"
Другие вопросы по тегам