我有一个正则表达式,用于删除特定字符(分号)后的所有内容。
var regex = new Regex(@";(.*)", RegexOptions.Singleline);
tb.Text = regex.Replace(tb.Text, "");
它似乎工作正常,但有时会删除文本框的整个文本。例如,以下所有代码均已删除:
;fgkdfgdfgd
;dfgdfkghdfgdf
;sdgfsdfsdfsdf
;dfgdfgdfg
#dont remove this ;fgdfgdfg
“ #dont remove this”应该保持不变,因为它不是在分号后面,但是不是吗?我的正则表达式有问题吗?
这个想法是删除或修剪文件中的所有注释。
最佳答案
试试(评论后更新):
tb.Lines = (
from l in tb.Lines
let x = l.IndexOf (';')
select (x >= 0 ? l.SubString (0, x) : l)
).ToArray();
这也应该比正则表达式运行得更快...
关于c# - 正则表达式删除某个字符后的所有内容(注释),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7943674/