使用正则表达式编辑字符串

时间:2017-03-16 14:52:40

标签: regex string

我想使用正则表达式退出字符串,我需要一些帮助。我有一个长字符串,我有兴趣从该字符串中获取所有URL并向其添加特定字符串。例如:

"您可以访问www.google.com,或者如果您需要其他引擎,可以转到https://www.bing.com,无论您喜欢哪种"

该字符串需要成为:

"您可以访问www.google.com/whatever,或者如果您想要其他引擎,可以转到https://www.bing.com/whatever,无论您喜欢哪种"

提前谢谢!

2 个答案:

答案 0 :(得分:1)

您可以通过以下方式完成此操作......

  • 使用 [\w\.]*\w+\..*?(?=,|\s|$)\K
  • 进行搜索
  • 替换为 /whatever

请参阅regex demo

答案 1 :(得分:1)

您的问题很有意思,但您没有说过要使用哪种语言或者您目前所做的事情。看看我做了什么,它使用的是java,它对我有用。

String mydata = "You can go to www.google.com, or if you want a different engine, you can go to https://www.bing.com, whichever you prefer";
String test = mydata.replaceAll("((\\b(https?|ftp|file)://)|www.)[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]", "$0/whatever");
System.out.println(test);

基本上我实现了一个正则表达式来获取匹配的网址。并附加任何匹配。