【发布时间】:2017-02-11 14:17:48
【问题描述】:
我想将文本拆分成一个数组,保持标点符号与其余单词分开,所以字符串如下:
Hello, I am Albert Einstein.
应该变成这样的数组:
["Hello", ",", "I", "am", "Albert", "Einstein", "."]
我试过sting.components(separatedBy: CharacterSet.init(charactersIn: " ,;;:")),但是这个方法会删除所有的标点符号,并返回一个这样的数组:
["Hello", "I", "am", "Albert", "Einstein"]
那么,我怎样才能得到一个像我的第一个例子一样的数组呢?
【问题讨论】:
-
您是否尝试过通过正则表达式将其拆分然后合并组?即如果你运行类似
([A-Za-z\']*)([,\.])*的东西,那么[0, 1] 的可选子组将包含你的部分(例如'Hello',','),然后你可以在所有非零组上运行一个flatMap将它们合并成一个单独的字符串数组 -
不,你能在答案中解释得更好吗? @Guardanis
-
我很困惑您不想要的结果输出是什么?您能否也将其添加到您的问题中
-
我已经更新了@Honey 的问题
标签: ios arrays swift string split