Xcode中硬编码URL的正则表达式

时间:2014-04-22 21:49:03

标签: regex xcode

我想通过整个Xcode项目运行正则表达式。目前,我有大约80个包含硬编码域的NSString实例。

我想更改此设置,以便我可以轻松地将主机网站更改为我的测试服务器。我在下面列举了一个例子:

以下是我的硬编码字符串示例:

NSString *strURL = [NSString stringWithFormat:@"http://www.website.com/assets/page.php?
user=%@&token=%@“, user, token];

我想这样做,以便我可以包含一个简单的变量,允许我更改我的主机,如下所示:

NSString *strURL = [NSString stringWithFormat:@"%@/assets/page.php?
user=%@&token=%@“, host_variable, user, token];

我无法进行简单的查找和替换,因为我经常将不同的变量传递给URL。我相信我需要一个正则表达式来正确地执行此操作。任何想法都会非常有用!

非常感谢!

1 个答案:

答案 0 :(得分:1)

您可以替换

(strURL = \[[^\]]+)http://www\.website\.com([^\]"]+")

\1%@\2, host_variable
  • \[[^\]]+是一个文字[,后面只有一个结尾]
  • [^\]"]是除]"
  • 之外的任何字符

我们的想法是将strURL的内容捕获到URL的开头,然后将字符串中的所有内容捕获到结束引号。

然后我们将其替换为我们在第一组中捕获的内容(即http...之前的所有内容),然后是%@,然后是website.com之后引用内的所有内容(第二组) ),然后是host_variable

您可以使用here的想法。

这会解决您的问题吗?