arrays - 仅替换字符串中的第一个字符 | swift

标签 arrays string swift replace range

我正在尝试替换字符串的第一个字符。使用 this answer , 我可以用我想要的字符替换所有当前字符,但我真正需要的是只替换位于单词开头的字符。


例如将c替换为t:

原文: jack 很酷
新 Sting:Jack 是工具


我的当前代码:

let aString: String = "jack is cool"
let toArray: Array = aString.componentsSeparatedByString(" ")
let newString: String = aString.stringByReplacingOccurrencesOfString("c", withString: "t", options: NSStringCompareOptions.LiteralSearch, range: nil)

这将打印为:

"jatk is tool"

我假设我必须对 newString 中的范围属性做一些事情。

最佳答案

我会使用 regex . \\b称为单词边界,它匹配单词字符和非单词字符。您也可以使用负面回顾而不是 \\b喜欢(?<!\\S)c

var regex:NSRegularExpression = NSRegularExpression(pattern: "\\bc", options: NSRegularExpressionOptions.CaseInsensitive, error: &ierror)!
var modString = regex.stringByReplacingMatchesInString(myString, options: nil, range: NSMakeRange(0, stringlength), withTemplate: "t")

关于arrays - 仅替换字符串中的第一个字符 | swift ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32835148/

相关文章:

c++ - c++11 中类作用域的数组初始化

python - 沿轴连接 numpy 字符串数组?

c# - 如何使用反射检索字符串文字?

ios - AVAudioPlayer 'forgets' 由 MPRemoteCommand 触发时播放

arrays - Swift - 插入字符数组,功能解决方案

ios - Swift - 对从核心数据中检索到的数组进行排序

ios - 如何在iOS上模拟访问?

ios - 如何通过 SwiftyJson 和 Alamofire 发布嵌套的 json?

arrays - MATLAB 中的单元格索引有什么意义

c - 使用转义字符的 Flex/Lex 编码字符串