我有一些文本文件包含如下内容:
CID Principal CID 2 CID 3 CID 4
-
-
-
-
Observações Gerais:
Paciente relata dor cronica ,agudizada e limitante do joelho direito , edema +/3+, nega trauma ou queda, dor a palpação na interlinha articular medial.
Hipótese Diagnóstica:
Conduta:
Lisador dip, restiva 5 mg adesivos, gelo, fisioterapia, Rx da bacia, joelhos com carga e orientações.
我想用正则表达式去掉:
- 所有空行
- 只包含"-"并且没有更多的字符。
I have try:
mytext.replace(/^s*[rn-]/gm, "");
但是运气不好。我怎么用javascript做到这一点呢?
如果带有连字符的行总是由单个连字符组成,您不妨使用非正则表达式解决方案,如
text.split("n").filter(x => x.trim().length > 0 && x != '-').join("n")
对于正则表达式解决方案,您可以使用
/^(?:s*|-+)$[rn]*/gm
参见regex演示。注意,它将删除包含一个或多个连字符的行,如果不希望这样做,将-+
替换为-
。
细节:
^
-起始行(?:s*|-+)
- 0个或多个空格或一个或多个连字符$
-行尾[rn]*
- 0个或多个CR或LF字符。
查看JavaScript演示:
const text = "CID Principal CID 2 CID 3 CID 4n-n-n-n-nObservações Gerais:nPaciente relata dor cronica ,agudizada e limitante do joelho direito , edema +/3+, nega trauma ou queda, dor a palpação na interlinha articular medial.nHipótese Diagnóstica:nConduta:nLisador dip, restiva 5 mg adesivos, gelo, fisioterapia, Rx da bacia, joelhos com carga e orientações.";
const regex = /^(?:s*|-+)$[rn]*/gm;
console.log(text.replace(regex, ''));
// Non-regex solution:
console.log(text.split("n").filter(x => x.trim().length > 0 && x != '-').join("n"));