首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何迫使斯威夫特识别撇号?

如何迫使斯威夫特识别撇号?
EN

Stack Overflow用户
提问于 2020-03-28 11:03:55
回答 4查看 1.2K关注 0票数 0

我试图用另一个字符替换字符串中的所有撇号(')字符。我正在运行以下代码:

代码语言:javascript
运行
复制
someString.replacingOccurrences(of: apost, with: "a")

我曾试图让阿普斯特平等对待以下各点:

代码语言:javascript
运行
复制
apost = "\'"
apost = #"'"#
apost = "'"

他们都没有从someString中删除撇号。

如果有办法让Swift代替撇号,请告诉我。谢谢。

EN

回答 4

Stack Overflow用户

发布于 2020-03-28 11:09:05

replacingOccurrences(...)方法返回一个新的字符串对象,并替换撇号。原始的someString对象不会因此而改变。你需要:

代码语言:javascript
运行
复制
someString = someString.replacingOccurences(...)

如果发生了这种情况,在Xcode中打开更多警告(或者查看警告)。在我的设置中,由于未使用的返回值,这不会进行编译。

票数 2
EN

Stack Overflow用户

发布于 2021-07-18 17:59:39

我有同样的问题,它不承认撇号或单引号。若要查找和替换它们,请对每个字符使用unicode。这对我有用。

代码语言:javascript
运行
复制
let str = "mark's new name is 'mike'"

// apostrophe
var modstr = str.replacingOccurences(of: "\u{0027"}, with "")

// left single quote
modstr = modstr.replacingOccurences(of: "\u{2018"}, with "") 

// right single quote
modstr = modstr.replacingOccurences(of: "\u{2019"}, with "") 

// output
print(modstr)

输出:

代码语言:javascript
运行
复制
marks new name is mike
票数 1
EN

Stack Overflow用户

发布于 2021-09-15 22:19:35

我也有过同样的问题。这是因为撇号不是正确的字符;它应该是一个排版(或“卷”)撇号(),而不是打字机(或“直”)撇号(')。复制并粘贴下面的代码,或者只是正确的撇号字符:

代码语言:javascript
运行
复制
searchQuery = searchQuery.replacingOccurrences(of: "’", with: "")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60900301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档