如何在 Swift 中从字符串中删除引号?
Posted
技术标签:
【中文标题】如何在 Swift 中从字符串中删除引号?【英文标题】:How can I remove quotes from String on Swift? 【发布时间】:2016-05-23 07:07:06 【问题描述】:我正在尝试从 Swift String
中删除引号,例如:
“你好”
所以 Swift String
只是:
你好
【问题讨论】:
您是否 100% 确定该字符串实际上包含引号?也许这只是调试器或 Playground 显示字符串的方式? @MartinR,有趣的是,调试器中显示的引号是包含引号的实际字符串变量,必须删除才能使我的网络 api 调用正常工作。删除后,调试器不再在打印的变量中显示引号。 【参考方案1】:你可以简单地使用
斯威夫特 1
var str: String = "\"Hello\""
print(str) // "Hello"
print(str.stringByReplacingOccurrencesOfString("\"", withString: "")) // Hello
Swift 3 和 4 更新
print(str.replacingOccurrences(of: "\"", with: "")) // Hello
【讨论】:
【参考方案2】:"\"Hello\"".stringByTrimmingCharactersInSet(NSCharacterSet(charactersInString: "\""))
【讨论】:
这只会删除边缘的引号并保留中间的引号。根据 OP 的意图,这可能是正确的。【参考方案3】:在 Swift 3 中:
let myString = "\"Hello\""
print(myString) // "Hello"
let myNewString = myString.replacingOccurrences(of: "\"", with: "")
print(myNewString) // Hello
【讨论】:
【参考方案4】:str.stringByReplacingOccurrencesOfString("\"", withString: "")
【讨论】:
【参考方案5】://这样试试
var strString = "\"Hello\""
strString = strString.stringByReplacingOccurrencesOfString("\"", withString: "")
【讨论】:
不工作现在也在结果字符串中得到引号。【参考方案6】:您可以使用 \ 从字符串中删除引号
\"(双引号)
\'(单引号)
示例:
NSString *s = @"your String";
NSCharacterSet *newStr = [NSCharacterSet characterSetWithCharactersInString:@"/""];
s = [[s componentsSeparatedByCharactersInSet: newStr] componentsJoinedByString: @""];
NSLog(@"%@", s);
【讨论】:
let myString = "Hello" let resulttext = myString.stringByReplacingOccurrencesOfString("\"", withString: "", options: NSStringCompareOptions.LiteralSearch, range: nil) 不工作现在也在结果中得到引号字符串 试试:println("(Hello!)" 还有其他方法可以从字符串中删除引号吗? 您确实意识到控制台会将引号打印为“装饰”以让您知道这是一个字符串?此外,let string = "Hello"
创建了一个仅包含 Hello
的字符串,因为此语句中的引号只是告诉编译器 - “这是一个字符串”。
现在可以正常使用 print(resultText) 了。非常感谢以上是关于如何在 Swift 中从字符串中删除引号?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 3 中从 Base64 编码的字符串创建图像? [复制]
如何在 Swift 中从 alamofire 中提取数据? [复制]