ios - swift/正则表达式 : How can I format a string using stringByReplacingMatches(withTemplate)?

标签 ios swift regex

我想格式化一个数字字符串,例如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}))(?!$)

关于ios - swift/正则表达式 : How can I format a string using stringByReplacingMatches(withTemplate)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57714332/

相关文章:

swift - 正则表达式:捕获组和空字段(SWIFT 5 | ICU 正则表达式引擎)

iphone - 从 iPhone 应用程序在同一选项卡中打开 safari

ios - 如何在 iOS 中将字符串转换为 xml? ( Objective-C ,xcode 7.2)

ios - 旋转 SCNCamera 节点,观察一个假想球体周围的物体

ios - 是否可以将您的应用程序添加到 iOS 11 控制中心或从锁定屏幕访问?

regex - 根据未知模式匹配不匹配的字符串

ios - 有没有办法复制数组中 NSDictionaries 的数量?

ios - 在 tableview 之外的触摸上隐藏 UITableView

swift - 如果我的类位于另一个类中,如何访问该变量的属性?

javascript - 使用正则表达式仅用 JS 替换模式的最后一次出现