我编写了以下代码以消除 3 个点之后的任何内容
currentItem.summary = @"I am just testing. I am ... the second part should be eliminated";
NSError * error = NULL;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"(.)*(/././.)(.)*" options:0 error:&error];
if(nil != regex){
currentItem.summary = [regex stringByReplacingMatchesInString:currentItem.summary
options:0 range:NSMakeRange(0, [currentItem.summary length])
withTemplate:@"$1"];
}
但是,我的输入和输出是一样的。正确的输出应该是“我只是在测试。我是”。
我试图使用正则表达式来做到这一点,因为我有一个在字符串上运行的其他正则表达式的数据库。我知道性能可能不如纯文本查找或替换,但所涉及的字符串很短。我还尝试使用“\”来转义正则表达式中的点,但我收到了警告。
还有一个类似主题的问题,但匹配字符串不适用于目标 c。