2011-06-28 68 views
-2

可能重复:
How to remove Bullets from the text using javascript regular expression
How to identify and Remove any type of Bullet in the Text正则表达式删除从文本子弹不工作

我copyig从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); 

请别人帮我。

+1

什么是理想的输出,什么是实际输出? –

+1

你得到的正则表达式对我来说看起来不正确,但不清楚它应该是什么。 – Pointy

+0

假设您在单词中创建了一个项目符号列表并将其复制到网页中的文本区域。默认的项目符号将带有文本。我想删除它们。 – Reddy

回答

5
x = x.replace(/\d\.\s+|[a-z]\)\s+|•\s+|[A-Z]\.\s+|[IVX]+\.\s+/g, ""); 

它基本上是各种子弹的化合物你想移除:

  • \d\.\s+ - 编号项目
  • [a-z]\)\s+ - 小信子弹带关闭大括号
  • •\s+ - 通常子弹
  • [A-Z]\.\s+ - 大写枪弹点
  • [IVX]+\.\s+ - 罗马编号项目
0

问题是过度使用括号。试试这个:

x= x.replace(/[•\t]+/g, ''); 
x= x.replace(/[1-9]{?}+[.]\t/g, ''); 

括号创建一组字符来匹配。当你把所有东西都包含在括号中时,它只是试图匹配括号中字符组中的任何单个字符(并且没有嵌套,所以它在第二个查询中消除了所有重复内容)。

+1

你期望'[1-9] {?} +'做什么?它会匹配类似'1 {}}}'See [here](http://regexr.com?2u3hr)。我相信那不是你想要的。 – stema

3
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); 

删除示例文本中的所有项目符号。小心,因为这也可能会删除你不想删除的文本。

说明:

 
(    # group 1 
    [0-9A-Z]+ # any combination of digits 0-9 or letters A-Z 
    [.)]   # either a dot or a closing paren 
    |   # ...or 
    •   # a bullet sign 
)\s+   # end group 1, match any following whitespace 
+2

+1上一次他问他时,我给了他这个问题几乎相同的答案[如何识别和删除任何类型的文本中的子弹](http:// stackoverflow .com/questions/6479059/how-to-identify-and-remove-any-type-of-the-text/6480127#6480127) – stema

+0

@stema:我明白了。显然,解释事情有时不足以让他们坚持下去。 : - \关闭的问题重复。有些人真的让我怀疑他们是否为了好玩而这样做。 – Tomalak

+0

有时它有助于解释它两次;) – stema

相关问题