我想使用正则表达式来查找正则表达式模式的每个实例,即字符串中的&*;,并将其从中删除,因此返回值是原始字符串,不包含任何匹配项.也希望使用相同的函数来匹配单词之间的多个空格,而不是使用单个空格.找不到这样的函数.

示例输入字符串

NSString *str = @"123 &1245; Ross Test  12";

返回值应该是

123 Ross Test 12

如果有任何匹配此模式的内容,请输入"&*或多个空格,并将其替换为@"";

推荐答案

NSString *string = @"123 &1245; Ross Test 12";
NSError *error = nil;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"&[^;]*;" options:NSRegularExpressionCaseInsensitive error:&error];
NSString *modifiedString = [regex stringByReplacingMatchesInString:string options:0 range:NSMakeRange(0, [string length]) withTemplate:@""];
NSLog(@"%@", modifiedString);

Objective-c相关问答推荐

如何从 Cocoa 的 NSDictionary 中获取特定键的值?

自构建预编译头后文件已被修改

在子类中覆盖init

如果安装了应用程序,如何以编程方式判断?

是否可以在 nsstring 中包含引号?

Objective C - 为什么常量以 k 开头

如何计算多边形的圆角?

判断 NSString 是否只是由空格组成

如何将 .plist 文件中的数据 struct 读入 NSArray

alloc 和 allocWithZone: 有什么区别?

在 Objective C 中使用 extern

WKWebView 判断 JavaScript 返回值

动画 UIButton 状态变化

计算 UILabel 文本大小

何时在 iPhone 上使用 UIView 与 UIViewController?

获取最顶层的 UIViewController

iPhone UILabel 文字软阴影

UICollectionView 断言失败

Xcode中私有方法的单元测试

Xcode 如何加载主情节提要?