需要在javascript /
函数中转义.split()
,但似乎无法弄明白!
input -> string "07777/25555,00255" or any of 0777/2555 0777,2555
output -> array {07777,25555,00255}
var p = item.gdp.split(/ , | \//);
正则表达式并不是很好!
答案 0 :(得分:2)
这样做分为" , "
或" /"
(请注意空格字符:空格逗号空格和空格< / em>正斜杠)。如果那是你打算替换的话,你的正则表达式绝对没问题。
这是一个Regexper可视化:
你的字符串中根本没有空格,所以你需要删除它们:
item.gdp.split(/,|\//);
有了这个,你的结果将是:
["07777", "25555", "00255"]
使用的更实用的正则表达式是/[,\/]
- 方括号将匹配其中的任何字符。
答案 1 :(得分:2)
var item={gdp:"07777/25555,00255"};
var p = item.gdp.split(/[,/]/);
document.write(p[0] + "<br>" + p[1] + "<br>" + p[2]);
25555
00255
答案 2 :(得分:1)
这是一个
<script>
(function($){
$("#historyApplicationForm").UNUGeneratePDF();
$("#pdfGenerate").on('click', function(event){
$("#historyApplicationForm").UNUGeneratePDF('Submit');
event.preventDefault();
});
})(jQuery);
</script>
答案 3 :(得分:1)
如果你只是在第一个字符串中分割逗号和斜杠
"07777/25555,00255"
你可以简单地拆分包含这两个字符[,/]
的字符类
在字符类中,斜杠不需要转义,因此结果语句将为
var p = item.gdp.split(/[,/]/);
如果您还想分割空间,就像在其他示例中0777/2555 0777,2555
一样,只需在角色类中添加空格:
var p = item.gdp.split(/[, /]/);
或在任何空格(空格,制表符等)上拆分使用预定义的\s
:
var p = item.gdp.split(/[,\s/]/);
此外,您可以折叠多个空格,但是您需要超越简单的字符类。比较...
var str="07777/25555,00255 0777,3444";
// split on white, comma, or slash. multiple spaces causes multiple results
str.split(/[\s,/]/)
// -> ["07777", "25555", "00255", "", "", "", "", "0777", "3444"]
// split on multiple whitespace, OR on comma or slash
str.split(/\s+|[,/]/)
// -> ["07777", "25555", "00255", "0777", "3444"]
答案 4 :(得分:0)
input.split(/[\/\s,]+/)
这是你在找什么?