Swift/Regex:如何使用 stringByReplacingMatches(withTemplate)格式化字符



我想格式化一个数字字符串,例如123456789,所以第一个数字将被分开,然后每 2 位数字将被分组,得到这个结果:

1 23 45 67 89

我试过这个:

let givenText = "123456789"
let text = (try? NSRegularExpression(pattern: "([0-9])([0-9])(?!$)",
options: .caseInsensitive))?
.stringByReplacingMatches(in: givenText,
options: .reportProgress,
range: NSMakeRange(0, givenText.count),
withTemplate: "$0 ")

但我得到的结果是:

12 34 56 78 9

我不知道如何隔离第一个数字。 感谢您的帮助。

您需要更改正则表达式以匹配字符串开头的一个数字或两个数字。

((^[0-9])|([0-9]{2}))(?!$)

最新更新