gpt4 book ai didi

javascript - 使用javascript用两个特殊字符拆分复杂的字符串

转载 作者:行者123 更新时间:2023-11-30 20:26:28 25 4
gpt4 key购买 nike

我使用 Javascript 已经有一段时间了,但这个问题确实引起了我的注意

我创建了一个程序,将玩家从一个字符串拆分为单独的名字。

例如 “Sadio Mane(利物浦)、Diao Balde Keita(摩纳哥)、Ismaila Sarr(雷恩)”

my_array = [Sadio Mane (Liverpool),Diao Balde Keita(Monaco),Ismaila Sarr (Rennes)];

我创建了一个基本函数来拆分名称并从数据库中给我一个数组,如下所示

 var my_array = [];
var club = [];
var names = [];

function splitData(data) {
var spl = data.split(",");
my_array.push(spl);

}

但是后来这个字符串出现了

“Fakhreddine Ben Youssef(Al Ittifaq,沙特阿拉伯)、Saber Khalifa(非洲俱乐部)、Wahbi Khazri(法国雷恩)”

当我尝试拆分这种类型的字符串时,它会输出以下内容

    my_array = [Fakhreddine Ben Youssef, (Al Ittifaq, Saudi Arabia), Saber Khalifa (Club Africain), Wahbi Khazri , (Rennes, France)];

//which outputs

my_array[0]='Fakhreddine Ben Youssef';
my_array[1]='(Al Ittifaq';
my_array[2]='Saudi Arabia)';
my_array[3]='Saber Khalifa (Club Africain)';
my_array[4]='Wahbi Khazri' ;
my_array[5]='(Rennes';
my_array[6]='France)';

我认为问题很明显,它也在括号中拆分逗号,如果只是这个字符串我会手动完成,但有 30 多个字符串以类似的方式进行。

最佳答案

您可以使用自己的常量语法定义正则表达式:

var reg = /[^\s,]([^\,(\)]+)(\s)*\([^\(\)]+\)/g;

var s = "Fakhreddine Ben Youssef (Al Ittifaq, Saudi Arabia), Saber Khalifa (Club Africain), Wahbi Khazri (Rennes, France)";
var reg = /[^\s,]([^\,(\)]+)(\s)*\([^\(\)]+\)/g;
console.log(s.match(reg));

参见 regex demo

关于javascript - 使用javascript用两个特殊字符拆分复杂的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50859773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com