【发布时间】:2018-10-17 19:23:03
【问题描述】:
如何仅使用正则表达式替换字符的第 n 个索引。
string input = "%fdfdfdfdfdfdfdfdfdfdfdffd";
string result = Regex.Replace(input, "^%", "");
上面的代码,用空字符串替换了第一个字符,但是,我想指定一个索引:比如第n个索引,所以那个字符被替换为一个空字符串。
谁能帮帮我。
【问题讨论】:
-
另外,
^%正则表达式总是只有一个匹配项。 -
为什么这里需要使用正则表达式?
-
是的,但是,现在我需要在正则表达式中指定删除特定的字符索引。
-
搜索
"^(.{7})."并替换为"$1"。如果 C# 支持\K,您也可以使用"^.{7}\\K."替换""。或者使用 lookbehind"(?<=^.{7})."替换""。我不确定 C# 是否支持\K或 quantifiers 在后视中。