在换行符和逗号上拆分字符串[重复]
Posted
技术标签:
【中文标题】在换行符和逗号上拆分字符串[重复]【英文标题】:Split string on newline and comma [duplicate] 【发布时间】:2016-03-22 19:54:27 【问题描述】:我的输入字符串是这样的
abc,def,wer,str
目前它仅在逗号上拆分,但将来它将包含逗号和换行符。 当前代码如下:
$scope.memArray = $scope.memberList.split(",");
将来我需要在逗号和换行符上拆分什么应该是正则表达式来拆分逗号和换行符。 我试过 - /,\n\ 但它不起作用。
【问题讨论】:
看看这个***.com/questions/650022/… 【参考方案1】:您可以使用正则表达式:
var splitted = "a\nb,c,d,e\nf".split(/[\n,]/);
document.write(JSON.stringify(splitted));
解释:[...]
定义了一个“字符类”,表示括号中的任何字符。
附言。 splitted
在语法上不正确。谁在乎它是否具有描述性?
【讨论】:
【参考方案2】:您可以在拆分前用逗号替换所有换行符。
$scope.memberList.replace(/\n/g, ",").split(",")
【讨论】:
这只会匹配新行的第一次出现。你必须做.replace(/\n/g, ",")
来替换所有出现的地方
@Merott - 好点
感谢 wud 也有效!!
实际上应该是.replace(/\r?\n/g, ",")
来处理unix/mac和windows新行。【参考方案3】:
试试
.split(/[\n,]+/)
这个正则表达式应该可以工作。
【讨论】:
是的 wud 可以工作,但至少需要一个或多个逗号或换行符以上是关于在换行符和逗号上拆分字符串[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如果字符串包含多个 \n,如何在每 25 个换行符(\n)上拆分一个字符串