我正在尝试用另一个字符替换字符串中的所有撇号(')字符。 我正在运行以下代码:
someString.replacingOccurrences(of: apost, with: "a")
我试图让 post 等于:
apost = "\'"
apost = #"'"#
apost = "'"
他们都没有从someString中删除撇号。
请让我知道是否有办法让Swift代替撇号。 谢谢。
答案 0 :(得分:2)
someString.replacingOccurrences(...)返回替换了撇号的新字符串对象。原来的someString不会因此改变。您需要
someString = someString.replacingOccurences(...)。
如果发生了这种情况,请在Xcode中打开更多警告(或查看警告)。在我的设置中,由于未使用返回值,因此不会进行编译。
答案 1 :(得分:1)
解决了。 Gnasher是正确的,我使用的输入撇号与输入字符串中使用的撇号不同。谁知道该死的撇号有多种类型。
答案 2 :(得分:0)
我遇到了同样的问题,无法识别撇号或单引号。要查找和替换它们,请对每个字符使用 unicode。 这对我有用。
let str = "mark's new name is 'mike'"
var modstr = str.replacingOccurences(of: "\u{0027"}, with "") //
apostrophe
modstr = modstr.replacingOccurences(of: "\u{2018"}, with "")
// left single quote
modstr = modstr.replacingOccurences(of: "\u{2019"}, with "")
// right single quote
print(modstr)
// modstr = marks new name is mike