如何在NSString中搜索子字符串

时间:2010-11-08 14:49:47

标签: iphone objective-c

我有一个问题如下:

我有UITextView显示以下内容:

  

也许是因为他没有解决。    [给新郎没有解决的事情搞笑轶事   对于。它应该与之无关   约会或婚姻。] 或者也许是   别的。我不能放手指   在它上面,但我从未见过他   安定下来。

     好吧,有一天,一切都改变了。    [讲述新郎如何遇见新娘以及他之后告诉你的事情的故事   他们见了面。] 是的,见面 [新娘的   名称] 改变了一切。

     

[Groom的名字] 停止听起来挑剔并开始听起来感兴趣。   他知道他在这个女人身上所拥有的一切   真是太棒了 - 就像他从未有过的一样   以前经历过。仅仅几周之后,   他深深地爱着;而且有   没有出路。

     

你知道吗?他从未转过身   背部。在这里,他今天与他同在   美丽的新娘。可能会有更多   完美匹配?

     

所以,让这对你们所有人都是一个教训   今晚在这里无爱的老女佣。没有   不管你认为你有多糟糕   情况是,它不能那么糟糕    [新郎的名字] ;他最终得到了他最想要的东西。

     

有了这个,我会关闭。    [新郎的名字] 和[新娘的名字],你们两个都很棒   人。独自一人,你可以完成   伟大的事情。独自一人,你很有趣,   聪明,迷人的人。

现在看一下“[]”,(方括号)之间的字符串。最初,此文本将采用不可编辑的格式。我在屏幕顶部有一个名为“编辑”的按钮。现在我需要做的是,当我点击“编辑”按钮时,应该弹出显示文本字段,当我在文本字段中输入数据时,该文本将替换“[]”之间写入的字符串。例如,在上面的文字中有一个字符串“[Groom的名字]”,所以当我点击编辑按钮然后会弹出询问我“输入新郎的名字”,当我在文本中输入新郎的名字时然后该字段将用我在文本字段中写的文字替换“[新郎的名字]”。对于在“[]”之间写入的每个字符串,应该有一个弹出窗口。现在我的问题是我将如何跟踪这些方括号,然后我将如何用文本字段中输入的文本替换它们。

如果我清楚,那么你会明白在上面的文字中我必须用粗体斜体替换所有字符串。

如果我不清楚任何一点,请告诉我。提前致谢

3 个答案:

答案 0 :(得分:2)

使用NSString,你可以这样做(组合-rangeOfString和 - stringByReplacingCharactersInRange:withString:)

但是不要犹豫使用RegexKitLite,那么你就可以获得正则表达式的强大功能了


使用NSString执行此操作的一些线索:

  1. 搜索[并获取位置
  2. 搜索]并获得位置
  3. 获取此范围内的字符串
  4. 使用您提示的字符串替换此范围内的字符

答案 1 :(得分:0)

您希望利用现有的许多Cocoa RegEx库中的一个。

答案 2 :(得分:0)

你很幸运。在iOS 4中,我们有NSRegularExpression类。