我是来自MS Word的一些数据.该文本可能包含或不包含复制文本中的项目符号.但我需要在javascript中使用正则表达式从复制的文本中删除任何类型的项目符号.我的代码如下所示.截至目前,它只删除了•.
var x = "1. Jnflkvkbfjvb 2. Kjnfbhvjbv 3. ;kbvrjvbrjvb • Jnflkvkbfjvb • Kjnfbhvjbv • ;kbvrjvbrjvb a) Jnflkvkbfjvb b) Kjnfbhvjbv c) ;kbvrjvbrjvb A. Jnflkvkbfjvb B. Kjnfbhvjbv C. ;kbvrjvbrjvb I. Jnflkvkbfjvb II. Kjnfbhvjbv III. ;kbvrjvbrjvb ";
x = x.replace(/[•\t.+]/g, '');
x = x.replace(/[[1-9]{?}+[.]\t]/g, '');
alert(x);
Run Code Online (Sandbox Code Playgroud)
请有人帮助我.
x = x.replace(/\d\.\s+|[a-z]\)\s+|•\s+|[A-Z]\.\s+|[IVX]+\.\s+/g, "");
Run Code Online (Sandbox Code Playgroud)
它基本上是你要删除的各种子弹的组合:
\d\.\s+ - 编号的子弹[a-z]\)\s+ - 带闭合支撑的小字母子弹•\s+ - 通常的子弹[A-Z]\.\s+ - 带有圆点的大写子弹[IVX]+\.\s+ - 罗马编号的子弹var x = "1. Jnflkvkbfjvb 2. Kjnfbhvjbv 3. kbvrjvbrjvb\
• Jnflkvkbfjvb • Kjnfbhvjbv • kbvrjvbrjvb\
a) Jnflkvkbfjvb b) Kjnfbhvjbv c) kbvrjvbrjvb\
A. Jnflkvkbfjvb B. Kjnfbhvjbv C. kbvrjvbrjvb\
I. Jnflkvkbfjvb II. Kjnfbhvjbv III. kbvrjvbrjvb";
x = x.replace(/([0-9A-Z]+[.)]|•)\s+/gi, "");
alert(x);
Run Code Online (Sandbox Code Playgroud)
从示例文本中删除所有项目符号。请小心,因为这也可能会删除您不想删除的文本。
解释:
( # 第 1 组 [0-9A-Z]+ #数字0-9或字母AZ的任意组合 [.)] # 一个点或一个结束括号 | # ...或者 • # 一个项目符号 )\s+ # 结束组 1,匹配任何后面的空格