dre*_*lax 10 string macos cocoa
假设我有一个NSString(或NSMutableString)包含:
I said "Hello, world!".
He said "My name's not World."
Run Code Online (Sandbox Code Playgroud)
将其转化为以下内容的最佳方法是:
I said \"Hello, world!\".\nHe said \"My name\'s not World.\"
Run Code Online (Sandbox Code Playgroud)
我是否必须手动使用-replaceOccurrencesOfString:withString:一遍又一遍来转义字符,还是有更简单的方法?这些字符串可能包含其他字母/语言的字符.
如何在其他语言中使用其他字符串类完成此操作?
我认为没有任何内置方法可以“转义”特定的字符集。
如果您希望转义的字符定义明确,我可能会坚持使用您提出的简单解决方案,粗略地替换字符的实例。
请注意,如果您的源字符串中已经包含转义字符,那么您可能希望避免“双重转义”它们。实现此目的的一种方法是遍历并“转义”字符串中的任何转义字符串,然后再次转义它们。
如果您需要支持可变的转义字符集,请查看 NSScanner 方法“scanUpToCharactersFromSet:intoString:”和“scanCharactersFromSet:intoString:”。您可以在 NSScanner 上使用这些方法来浏览字符串,将“scanUpTo”部分中的部分不加更改地复制到可变字符串中,并仅在转义后才从特定字符集中复制这些部分。
| 归档时间: |
|
| 查看次数: |
26791 次 |
| 最近记录: |