我有一些包含以下内容的文本文件:
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.
我想要一个正则表达式来摆脱:
- 所有空行
- 仅包含“-”且没有更多字符的行。
我试过:
mytext.replace(/^\s*[\r\n\-]/gm, "");
但运气不好。 我怎样才能使用 javascript 做到这一点?
最佳答案
如果带连字符的行总是由一个连字符组成,您不妨使用非正则表达式解决方案,例如
text.split("\n").filter(x => x.trim().length > 0 && x != '-').join("\n")
至于正则表达式的解决方案,你可以使用
/^(?:\s*|-+)$[\r\n]*/gm
参见 regex demo .请注意,它将删除由一个或多个连字符组成的行,如果这不是预期的,请将 -+
替换为 -
。
详细信息:
^
- 行首(?:\s*|-+)
- 零个或多个空格或一个或多个连字符$
- 行尾[\r\n]*
- 零个或多个 CR 或 LF 字符。
查看 JavaScript 演示:
const text = "CID Principal CID 2 CID 3 CID 4\n-\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*|-+)$[\r\n]*/gm;
console.log(text.replace(regex, ''));
// Non-regex solution:
console.log(text.split("\n").filter(x => x.trim().length > 0 && x != '-').join("\n"));
关于javascript - 使用 javascript 和正则表达式删除具有特定字符的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66034315/