如何从特定位置开始将此字符串拆分为两个字符串

时间:2018-02-04 20:29:54

标签: javascript arrays string

我有这个字符串:

var str=' "123","bankole","wale","","","","xxx" ';

我需要将此字符串拆分为两个。拆分应从最后一个逗号开始。导致:

' "123", "bankole","wale","","","" '' "xxx" '

我使用以下内容获取"xxx"

str.split(/[,]+/).pop(); \\""

然而请注意,最后一个“”也可以是“某事”

4 个答案:

答案 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])