- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试翻译这段 Objective-C 代码:
if ([[self.appStoreCountry stringByReplacingOccurrencesOfString:@"[A-Za-z]{2}" withString:@"" options:NSRegularExpressionSearch range:NSMakeRange(0, 2)] length])
所以我试着写了这段代码:
if !self.appStoreCountry.stringByReplacingOccurrencesOfString("[A-Za-z]{2}", withString: "", options: NSStringCompareOptions.RegularExpressionSearch, range: Range(start: 0, end: 2)).isEmpty
问题是 stringByReplacingOccurrencesOfString 部分似乎没有返回字符串。我收到来自 xcode 的错误消息:Cannot convert the expression's type 'Bool' to type 'String'.
我做了更多调查并尝试了:
let replaced = self.appStoreCountry.stringByReplacingOccurrencesOfString("[A-Za-z]{2}", withString: "", options: NSStringCompareOptions.RegularExpressionSearch, range: Range(start: 0, end: 2))
错误消息类似但更奇怪:无法将表达式的类型“String”转换为类型“String”。
我是不是做错了什么或者我应该向 Apple 提交错误?
最佳答案
请记住,Foundation 的类型与 Swift 的类型不同。 Swift 中的 String
不是 NSString
,Range
也不是 NSRange
。这确实有效:
let country = self.appStoreCountry // if self.appStoreCountry is an NSString
let country: NSString = self.appStoreCountry // if self.appStoreCountry is a Swift string
let replaced = country.stringByReplacingOccurrencesOfString("[A-Za-z]{2}", withString: "", options: .RegularExpressionSearch, range: NSMakeRange(0, 2))
另请注意 .RegularExpressionSearch
的简写符号,这使得在 Swift 中使用枚举更容易一些。
关于objective-c - stringByReplacingOccurrencesOfString 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24042144/
我使用代码打击将\\替换为\ NSString *str =@"\\u597d\\u6f02\\u4eae\\u7684\\u5a5a"; str= [str stringByReplac
我正在尝试将字符串写入文本框,但如果第一个字符是 * 或字符串 == ""我不想写入该字符串,但我想删除所有要做的空格这个 for command in InitialCommandsArr {
文件路径:/var/mobile/Applications/BA7AE6F8-C7EA-4601-A5F4-30E3C57FE948/Documents/photo2.jpg照片编号:/var/mob
我想用其他一些字符串替换出现的以下格式的字符串。此操作应在 for 循环中发生。 这里的 fullString 看起来像这样 There are some other things ... Child
我创建了一个小应用程序,它将从网站获取 html 并将其转换为字符串。现在我想从该字符串中删除一些文本,但它并没有删除该文本。这是我编写的代码。 -(void)dk { NSString *m
在 for 循环内部,我有一个 if 语句,如下所示: if([numberValues rangeOfString:@"+"].location == NSNotFound) { NSLog
在阿拉伯语的情况下,它不会替换逗号。 NSString *strAfterReplacingComma = @"٢٠٠٫٠٠";//100.00 NSString *strAfterR
我可以替换 URL 中的空格 "" 字符,但是当其中有非英语字符时,它会返回错误的 URL。示例: 我使用的网址:www.moSTLifeclub.com/MostWeb/img/gallery2/7
当使用 stringByReplacingOccurrencesOfString 时,它似乎替换了单词中的单词。例如, The house was held together by... 将出现的“t
我希望我的输出是“23”,但它仍然显示“123”。 NSString *valorTextField = [[NSString alloc] initWithFormat:@"123"]; [
出于某种原因,这给了我一个错误。swearWordPair 定义为 [String]。例如["你好", "嗨"] 让 swearWordsAndReplacements : [[String]] =
我正在尝试替换/删除这个: [\" 从字符串bump3 NSString *bump5 = [bump3 stringByReplacingOccurrencesOfString:@"[\\"" wi
我正在开发一个Mac应用程序,我正在尝试替换使用NSString的stringByReplacingOccurrencesOfString。我正在做类似的事情: NSString *new = [s
NSString *qwer2 = [qwer1 stringByReplacingOccurrencesOfString:@"count '0','" withString:@""]; NSStri
NSString *qwer2 = [qwer1 stringByReplacingOccurrencesOfString:@"count '0','" withString:@""]; NSStri
我正在尝试使用 stringByReplacingOccurrencesOfString 将一个字符串替换为另一个字符串,但由于某种原因,它给了我这个错误: -[__NSCFNumber length
我正在尝试用我的代码中的“\'”替换“'”,同时准备一个 json 字符串以将其传递给 .NET 服务器,但它不起作用......我的输入是“As'@k”,我需要得到“As\'@k”作为输出..我的代
这个问题在这里已经有了答案: Remove all whitespaces from NSString (11 个答案) 关闭 9 年前。
我想将字符串中的一些“非法”字符替换为另一个“合法”字符,我有以下代码: - (NSString *) quitarTildes:(NSString *)aStr { NSString *au
当使用 stringByReplacingOccurrencesOfString: 时,有没有办法获取它已替换的字符串的数量? 当然,我可以在使用替换之前只搜索字符串,但由于替换可能会执行相同的搜索,
我是一名优秀的程序员,十分优秀!