gpt4 book ai didi

c# - 从字符串中删除下划线,除了字符串中的链接

转载 作者:行者123 更新时间:2023-11-30 14:52:08 25 4
gpt4 key购买 nike

我有一个文本段落,其中可能包含一些 url 链接。我只需要从该字符串中删除下划线“_”。

但正如我所说,文本有 url 链接,url 链接也可能有下划线,但不应删除它们的下划线。

链接可以按任何顺序排列,即这些链接上方或下方可能有一些文本,基本上这是将在电子邮件中发送的电子邮件文本内容。

我正在考虑使用一些正则表达式,但这也会从链接中删除我不想要的下划线。我想删除这些链接,然后删除下划线,然后再次在文本中添加链接,但正如我所说,链接可以按不同的顺序排列,即文本是动态内容。

任何指导将不胜感激,我将从那里获取。谢谢。

最佳答案

您可以使用可变宽度负向后视 (?<!\b(?:https?://\S*|www\.))_ :

(?<!\b(?:https?://|www\.)\S*)_

参见 demo

此正则表达式将匹配任何 _前面没有 http:///https:///www.后跟除空格以外的任意数量的任意字符 ( \S* )。

C#:

var res = Regex.Replace(str, @"(?<!\b(?:https?://|www\.)\S*)_", string.Empty);

关于c# - 从字符串中删除下划线,除了字符串中的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32473247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com