gpt4 book ai didi

ios - 在 iOS 中使用 Regex 从一个字符串中排除字符串

转载 作者:行者123 更新时间:2023-11-28 22:57:06 25 4
gpt4 key购买 nike

我想做与 Excluding strings using regex 中几乎相同的事情但我想在 iOS 上使用正则表达式。所以我基本上想在字符串中找到匹配项,然后从字符串中删除它们,所以如果我有这样的字符串,Hello #world @something 我想找到 #world & @something 然后从字符串中删除它们,这样它就变成了 Hello。我已经有了删除 #worldsomething 但不是 @, #[\\p{Letter}]+ 的表达式|[^@]+$ 我通过这样做解决了 @ 问题

NSString *stringWithoutAt = [input stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@"@%@",atString] withString:@""];
NSString *stringWithoutTag = [input stringByReplacingOccurrencesOfString:tagString withString:@""];

所以对于第一个,我以 Hello #world 结束,第二个以 Hello @something 结束。但是有没有办法使用 Regex 或其他东西同时删除 #world@something

最佳答案

您可以通过两种方式在 iPhone 中使用正则表达式:-

1>使用 RegExKitLIte 作为框架 see the tutorial

2>使用 NSRegularExpression 和 NSTextCheckingResult

NSStirng *string=@"Your String";
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"@[a-z]*#[a-z]*" options:NSRegularExpressionCaseInsensitive error:&error];
[regex enumerateMatchesInString:string options:0 range:NSMakeRange(0, [string length]) usingBlock:^(NSTextCheckingResult *match, NSMatchingFlags flags, BOOL *stop)
{
// your statement if it matches
}];

此处将连接@之后的任何表达式和#之后的表达式

在语句中你可以用空格替换它来得到你的表达式

如果您只是想修改字符串,请执行此操作:-

 NSString *modifiedString = [regex stringByReplacingMatchesInString:string options:0
range:NSMakeRange(0, [string length]) withTemplate:@"$2$1"];

关于ios - 在 iOS 中使用 Regex 从一个字符串中排除字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10573249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com