用相同的字符串替换多个字符串

本文关键字:字符串 替换 | 更新日期: 2023-09-27 18:09:50

我想做的是用超链接替换文本字符串中的域。

因此domain.comwww.domain.comhttp://domain.comhttp://www.domain.com等要用<a href="http://www.domain.com">代替

是否有可能一次替换所有这些,这样我就不必做一堆替换语句了?我想先用一个唯一的占位符替换每个,然后用一个链接替换那些,这样我就不用担心重新替换字符串。

或者是正则表达式?我很讨厌正则表达式,所以如果最好的话,举个例子会很好。

或者,有没有我没有考虑过的更好的选择?

用相同的字符串替换多个字符串

它总是相同的域名还是它是一个松散的类似于地址的东西?如果只有domain.com,你可以用你列出的几个选项进行替换

如果它的形状像一个地址,你可以尝试使用像

这样的正则表达式
((http://)?(www'.)?([a-zA-Z0-9]+)'.([a-z]{1,2,3}))

并替换为

<a href="'1">

(通常regex指的是捕获组(括号内的任何内容),如$1 $2 $3,但在visual studio中是'1 '2 '3)

如果你正在使用visual studio中的GUI工具,要以编程方式完成它,你必须访问正则表达式匹配的组并找到组1

但它总是取决于你要解析的文本,因为它会匹配任何字符串一个或多个字符然后是一个点然后是几个小写字母

更具体地说,您可以将([a-z]{1,2,3})更改为类似于(com|net|org)的内容,并可能添加后缀

得到

((http://)?(www'.)?([a-zA-Z0-9]+)'.(com|net|org))