gpt4 book ai didi

C# 正则表达式,用于将 [ 的出现更改为 [[] 并将 ] 的出现更改为 []]

转载 作者:行者123 更新时间:2023-11-30 19:30:06 26 4
gpt4 key购买 nike

我有一个包含 [] 多次的路径 + 文件名。我想要做的是将 [] 放在每个 [ 周围:

E:\Test\Bananas[in a cage]when[elephants]laugh.png

替换成

E:\Test\Bananas[[]in a cage[]]when[[]elephants[]]laugh.png

原因在这里:

DataRow[] tempRows = filenames.Select("File like '" + tempLogElement + "'");

如果出现包含方括号的路径,这将崩溃。这是因为 [] 用于在这种“like”语句中转义 * 和 %。避免这种情况的方法是转义转义字符....

我对 Regex 不是很好,但我在这里得到了一个近似值:

Regex.Replace(tempLogElement, "(\[*\])", "[]]", RegexOptions.IgnoreCase);

这只会转义 ] 字符,但不会转义 [ 字符。

这行不通:

tempLogElement.Replace("[","[[]").Replace("]","[]]")

第二个替换会弄乱第一个替换。所以我想我必须使用在一次操作中完成的东西。第一个想到的是正则表达式。

最佳答案

这是一个简短的例子:

Regex.Replace(input, @"\[|\]", "[$0]")

这匹配 [] 并替换为包含原始字符的 [...]

关于C# 正则表达式,用于将 [ 的出现更改为 [[] 并将 ] 的出现更改为 []],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9985976/

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