2015-12-17 113 views
-3

Salaamun AlekumJavascript或JQuery分割字母数字字符串

我试图搜索JavaScript分割字母数字字符串的功能,但我无法找到它。

我想有一个像Split功能功能在JQuery

例子:

"NewFolder333".AplhaNumericSplit(); 
["NewFolder","333"]///Result Splitted Array 

谢谢

+0

您可以添加所有可能的输入字符串 – Tushar

+0

改成分体式( “NewFolder333”); –

+0

我不认为有任何直接的方法在jQuery或javscript为您的目的,我会建议您为此创建简单的手动解析器 – dreamweiver

回答

4

做配套,而不是分裂..

string.match(/[a-z]+|\d+/ig) 
4

TL;博士

<string>.match(/[^\d]+|\d+/g) 

,以便从"NewFolder333"["section", "4", "rubrique", "2"]"section-4-rubrique-2"获得["NewFolder" ,"333"]可以使用一个正则表达式作为match()图案分割一个Alpha数字字符串。

正规表达式会关注你是

​​
  • //:创建一个正则表达式。
  • g:允许您的匹配功能获取所有匹配的零件。
  • [^\d]+:获取可能包含除数字之外的所有字符的字符串。
  • '|:或。
  • \d+:获取所有数字字符。

所以在下面的代码,结果将包含["NewFolder" ,"333"]

var result = "NewFolder333".match(/[^\d]+|\d+/g); 
 
alert(result);


而在稍加修改,你也可以忽略_-

  • [^-_ \d]+:获取可能包含除数字之外的所有字符的字符串,,_-

而下面的结果将包含["section", "4", "rubrique", "2"]

var result = "section-4-rubrique-2".match(/[^-_ \d]+|\d+/g); 
 
alert(result);

var result = "section_4-rubrique_2".match(/[^-_ \d]+|\d+/g); 
 
alert(result);

var result = "section-4 rubrique-2".match(/[^-_ \d]+|\d+/g); 
 
alert(result);