我有这个字符串:
var str=' "123","bankole","wale","","","","xxx" ';
我需要将此字符串拆分为两个。拆分应从最后一个逗号开始。导致:
' "123", "bankole","wale","","","" '
和' "xxx" '
我使用以下内容获取"xxx"
:
str.split(/[,]+/).pop(); \\""
然而请注意,最后一个“”也可以是“某事”
答案 0 :(得分:2)
有很多方法可以实现这一点。
您可以使用split()
在逗号上拆分字符串,然后使用slice()
获取已创建数组的最后一个元素。然后join()
将第一部分中剩余的元素返回到字符串中。
var str = '"123", "bankole","wale","","","" and ""';
var arr = str.split(',')
var start = arr.slice(0, -1).join(',')
var end = arr[arr.length-1];
console.log(start);
console.log(end);
在上面的代码中,提取最后一个逗号之后的最后一部分的部分是arr.slice(0, -1)
。 -1
表示从数组末尾开始查看并返回1。
因此,如果您需要从倒数第二个中拆分,请使用arr.slice(0, -2)
var str = '"123", "bankole","wale","","","" and ""';
var arr = str.split(',')
var start = arr.slice(0, -2).join(',')
var end = arr.slice(-2).join(',')
console.log(start);
console.log(end);
答案 1 :(得分:0)
您只需使用String.prototpye.lastIndexOf()
和String.prototpye.substring()
var str='"123","bankole","wale","","","","something"';
var lastCommaIndex = str.lastIndexOf(',');
var part1 = str.substring(0, lastCommaIndex);
var part2 = str.substring(lastCommaIndex + 1, str.length);
console.log(part1)
console.log(part2)

答案 2 :(得分:0)
听起来你的正则表达式已经是你正在寻找的,而你只是想要提取最后一段。这可以使用array_name[array_name.length - 1]
完成,如下所示:
var str = ' "123","bankole","wale","","","","something" ';
var parts = str.split(/[,]+/);
console.log(parts[parts.length - 1]);
如果您还想删除引号,可以在提取的字符串上运行.replace(/['"]+/g, '')
,如下所示:
var str = ' "123","bankole","wale","","","","something" ';
var parts = str.split(/[,]+/);
var extracted = parts[parts.length - 1];
console.log(extracted.replace(/['"]+/g, ''));
希望这有帮助! :)
答案 3 :(得分:0)
如果您想使用正则表达式,可以使用negative lookahead,如下所示。
var str = ' "123","bankole","wale","","","","something" ';
var splitResult = str.split(/,(?!.*,)/);
console.log(splitResult[0])
console.log(splitResult[1])