【问题标题】:Replace characters (unique then wildcard value) in a string with other characters用其他字符替换字符串中的字符(唯一的然后是通配符值)
【发布时间】:2013-02-10 17:07:22
【问题描述】:

我有一个 NSString,比方说“H,L,K,P”我怎样才能检测到一个特定的字符而不是一个通配符...例如,检查“,*”将返回“,L " ",K" 和 ",P" 因为它们都有特定的 ",",然后它们后面都有一个字符。然后我想用它自己加上一个“句点”替换那个字符串。

所以“H,L,K,P”会变成“H,L.,K.,P”

【问题讨论】:

    标签: ios objective-c nsstring append wildcard


    【解决方案1】:

    使用正则表达式。搜索模式是:

    ,(.)
    

    替换模式是:

    ,$1.
    

    示例代码:

    NSString *string = @"H,L,K,P";
    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@",(.)"
                                        options:0
                                        error:&error];
    NSString *modifiedString = [regex stringByReplacingMatchesInString:string
                                        options:0
                                        range:NSMakeRange(0, [string length])
                                        withTemplate:@",$1."];
    

    【讨论】:

    • 我尝试用 @"" 替换 @"\u200b" 来使用它,但它没有用...我以前从未使用过 REGEX,所以我不知道有什么这段代码的意思是,但我假设问题是您的代码是为了添加一个长度为 1 的句点,而我正在尝试添加长度为 3 的字符串 @""?解决方法是什么?
    • 什么?您的问题明确说明您要添加句点。现在你说你想添加<b>。是哪个?
    • 我只是举个例子,我有很多东西需要在我的代码的不同部分添加,无论如何我做了一些研究,我的问题是“正则表达式”的句点意味着任何字符...所以当我将您的示例代码从句点更改为“”时,我不小心弄错了代码哈哈!现在修好了,谢谢!如果句点是 RegEx 中的通配符,则在我的示例问题中使用句点只是我的运气。哈哈!谢谢,上帝保佑!
    • 句点表示搜索模式中的“任何字符”。在替换模式中只是简单地表示“句号”字符。
    猜你喜欢
    • 1970-01-01
    • 2019-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-06
    • 1970-01-01
    • 1970-01-01
    • 2014-02-19
    相关资源
    最近更新 更多