Javascript 拆分字符串,在另一个字符处断开
我有字符串:Javascript 拆分字符串,在另一个字符处断开,javascript,parsing,split,Javascript,Parsing,Split,我有字符串: Name01: Name02 - Project Name (Client) - Infos 使用JavaScript,最快的解析方法是什么: Name01 Name02 Project Name Client Infos 您可以在任何需要的地方用公共字符替换字符串。这样你就可以和他们分开了。请尝试以下方法: var str=“Name01:Name02-项目名称(客户)-信息” str=str.replace(/[-()]/g,':').split(':'); str=st
Name01: Name02 - Project Name (Client) - Infos
使用JavaScript,最快的解析方法是什么:
Name01
Name02
Project Name
Client
Infos
您可以在任何需要的地方用公共字符替换字符串。这样你就可以和他们分开了。请尝试以下方法:
var str=“Name01:Name02-项目名称(客户)-信息”
str=str.replace(/[-()]/g,':').split(':');
str=str.filter(i=>i.trim()).map(j=>j.trim());
console.log(str)代码>这并不完美,但很简单:
const str = 'Name01: Name02 - Project Name (Client) - Infos';
const matches = str
.replace(/[^\w\s+]/gi, '')
.replace(/\s\s+/gi, ' ')
.split(' ');
console.log(matches);
这里的问题是在项目名称
之间保留空格好吧,假设您的“输入”是一个字符串-输出是什么?那是一个数组吗?再来一根绳子?换新线?空间分割?但不是“项目名称”?这取决于输入数据的变化程度。“项目名称”可以包含多于或少于两个单词吗?或者其他字段是否需要包含空格?是否有可能出现“:”或“-”或“(”或“)”作为需要捕获的名称的一部分出现,而不仅仅是作为分隔符出现?是否有其他规律可以依赖于一致性,或者您可能需要解决的不规则性?您可能需要在此处进行一些防御性编码来处理可能存在的奇怪输入,而不是专注于“最快”的方法。更进一步,是分隔符周围需要空格,还是可以是,例如,Name01:Name02 Project Name(Client)-Infos
可以有更多空格吗?它们总是空格而不是制表符吗?项目名称中是否可以显示破折号?冒号可以出现在Name01和/或Name02区域吗?谢谢!确切地说,这有点棘手。。该字符串来自谷歌日历事件的倾斜。所有用户都与定界者保持相同的角色,但可以是:⛔️丹尼尔:约翰·多伊-美国航空公司(可口可乐)-红色/son/Ext/3位置使用[-()]
或:
中的任何一个都不会出现在字符串的其他位置。@StephenP,如果这些都不存在,split()
将忽略它们。该解决方案基于字符串provide…thanksw关于.map(j=>j.trim())
首先,然后是.filter(i=>i)
?不需要。修剪()twice@Sphinx,map()
首先,然后filter()
也可以工作。这里map()
修剪字符串,并filter()
从数组中删除空字符串。但是map()
之后的filter()
将减少迭代次数…谢谢