我有一个很大的音乐文件(大约20k行),里面有和弦。
我正在试着写一个程序把和弦从我的文件中删除。
我查找和弦的正则表达式是:
Regex regex = new Regex("([A-G](#|b)*([a-z]|[0-9])*)(/[A-G](#|b)*([a-z]|[0-9])*)*");这个问题是一个逻辑问题。
如何使用正则表达式检测一行文本是否只有和弦?
更新:文件示例:
C G
Justo é o Senhor em seus santos caminhos,
A - G/B C D4 D G
Benigno em todas as suas obras. (bis)
G C C7
Perto está o Senhor, (perto está dos que o invocam,)
F C D - G C F G C F
De todos que o invocam (De todos que o invocam)
C/G G C F C
Em verdade. Aleluia! Aleluia! 发布于 2011-02-16 02:25:39
这样如何:
resultString = Regex.Replace(subjectString, @"^[A-G\d#b\s/-]*$(?:\r\n)?", "", RegexOptions.Multiline);这将删除仅包含字母A到G、#、b、/、-或空格的所有行。
发布于 2011-02-16 01:08:28
您可以通过将正则表达式包装在^...$中来锚定它。
这将强制它匹配整个行。
然后,您可以遍历File.ReadLines,如下所示:
var nonChords = File.ReadLines(path)
.Where(s => !regex.IsMatch(s));https://stackoverflow.com/questions/5006852
复制相似问题