正则表达式匹配字符串中的最后一个字符 - C#

纱丽

如何删除最后一个 ';' 在字符串中?

如果字符串末尾有注释,我需要返回 ';' 在评论之前。

示例

"line 1 //comment
line2;
extra text; //comment may also contain ;." 
七州

这对于 Regex 来说有点难看,但这里是:

var str = @"line 1 //comment

line2; test;

extra text; //comment may also contain ;.";

var matches = Regex.Matches(str, @"^(?:(?<!//).)+(;)", RegexOptions.Multiline);
if (matches.Count > 0)
{
    Console.WriteLine(matches[matches.Count - 1].Groups[1].Index);
}

我们得到每行最后一个分号的匹配(前面没有注释),然后我们查看这些匹配中的最后一个。

我们必须逐行执行此操作,因为注释适用于整行。

如果你想单独处理每一行(你的问题没有说这一点,但它暗示了这一点),然后循环matches而不是只看最后一行。

如果你想用另一个字符替换每个分号,那么你可以这样做:

const string replacement = "#";
var result = Regex.Replace(str, @"^((?:(?<!//).)+);", "$1" + replacement, RegexOptions.Multiline);

如果你想完全删除它,那么只需:

var result = Regex.Replace(str, @"^((?:(?<!//).)+);", "$1", RegexOptions.Multiline);

如果您只想删除整个字符串中的最后一个分号,则可以使用string.Remove

var matches = Regex.Matches(str, @"^(?:(?<!//).)+(;)", RegexOptions.Multiline);
if (matches.Count > 0)
{
    str = str.Remove(matches[matches.Count - 1].Groups[1].Index, 1);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

删除字符串的最后一个字符c#

来自分类Dev

Java正则表达式:如果右括号是字符串中的最后一个字符,则匹配圆括号中的任何数字

来自分类Dev

C#正则表达式模式位置和最后3个字符

来自分类Dev

正则表达式仅检查字符串C#中的第一个字符

来自分类Dev

正则表达式替换特定匹配项的字符串的第一个和最后一个字符

来自分类Dev

C删除字符串中的最后一个字符

来自分类Dev

使用正则表达式C#在两个字符串的块中获取文本文件的多行字符串

来自分类Dev

获取以C / C ++打印的最后一个字符串

来自分类Dev

如何在C#中动态删除字符串中的最后一个字符

来自分类Dev

C ++正则表达式捕获正在删除电子邮件验证器中的最后一个字符

来自分类Dev

正则表达式匹配字符串的第一个和最后一个字符,但是为什么呢?

来自分类Dev

C#正则表达式-一个字符串的不同条件

来自分类Dev

C#-按下按键时从字符串中删除最后一个字符

来自分类Dev

只需要长字符串的最后一个字符c ++

来自分类Dev

C#正则表达式第二个字符到最后一个字符模式匹配

来自分类Dev

如何从C中的字符串保存最后一个字符?

来自分类Dev

C#如何交换字符串中的第一个字符与最后一个字符

来自分类Dev

正则表达式仅检查字符串C#中的第一个字符

来自分类Dev

正则表达式替换特定匹配项的字符串的第一个和最后一个字符

来自分类Dev

C#:如果某些字符是使用正则表达式的字符串的第一个字符,则替换它们

来自分类Dev

C-复制未知长度字符串中的最后一个字符

来自分类Dev

C字符串中缺少第一个字符

来自分类Dev

C#正则表达式,匹配但不包括匹配字符串之前的第一个字符

来自分类Dev

如何从C的字符串中仅取回一个字符?

来自分类Dev

使用正则表达式替换匹配字符串的最后一个字符

来自分类Dev

正则表达式:引号中的最后一个字符串

来自分类Dev

从 C 中的字符数组打印出一个字符串

来自分类Dev

使用正则表达式和 C# 识别另一个字符串中不存在的字符串

来自分类Dev

C# 正则表达式 - 在连续出现另一个字符之前添加一次字符

Related 相关文章

  1. 1

    删除字符串的最后一个字符c#

  2. 2

    Java正则表达式:如果右括号是字符串中的最后一个字符,则匹配圆括号中的任何数字

  3. 3

    C#正则表达式模式位置和最后3个字符

  4. 4

    正则表达式仅检查字符串C#中的第一个字符

  5. 5

    正则表达式替换特定匹配项的字符串的第一个和最后一个字符

  6. 6

    C删除字符串中的最后一个字符

  7. 7

    使用正则表达式C#在两个字符串的块中获取文本文件的多行字符串

  8. 8

    获取以C / C ++打印的最后一个字符串

  9. 9

    如何在C#中动态删除字符串中的最后一个字符

  10. 10

    C ++正则表达式捕获正在删除电子邮件验证器中的最后一个字符

  11. 11

    正则表达式匹配字符串的第一个和最后一个字符,但是为什么呢?

  12. 12

    C#正则表达式-一个字符串的不同条件

  13. 13

    C#-按下按键时从字符串中删除最后一个字符

  14. 14

    只需要长字符串的最后一个字符c ++

  15. 15

    C#正则表达式第二个字符到最后一个字符模式匹配

  16. 16

    如何从C中的字符串保存最后一个字符?

  17. 17

    C#如何交换字符串中的第一个字符与最后一个字符

  18. 18

    正则表达式仅检查字符串C#中的第一个字符

  19. 19

    正则表达式替换特定匹配项的字符串的第一个和最后一个字符

  20. 20

    C#:如果某些字符是使用正则表达式的字符串的第一个字符,则替换它们

  21. 21

    C-复制未知长度字符串中的最后一个字符

  22. 22

    C字符串中缺少第一个字符

  23. 23

    C#正则表达式,匹配但不包括匹配字符串之前的第一个字符

  24. 24

    如何从C的字符串中仅取回一个字符?

  25. 25

    使用正则表达式替换匹配字符串的最后一个字符

  26. 26

    正则表达式:引号中的最后一个字符串

  27. 27

    从 C 中的字符数组打印出一个字符串

  28. 28

    使用正则表达式和 C# 识别另一个字符串中不存在的字符串

  29. 29

    C# 正则表达式 - 在连续出现另一个字符之前添加一次字符

热门标签

归档