regex 按字符串中的第一个连字符拆分字符串

30byixjq  于 2023-08-08  发布在  其他
关注(0)|答案(4)|浏览(102)

我知道JavaScript的split例程。我有一个字符串的模式是Employee - John Smith - Director
我想使用JavaScript在第一个连字符的基础上分割它,它看起来像:
来源:Employee
子:John Smith - Director

dgtucam1

dgtucam11#

我会使用一个正则表达式:

b = "Employee - John Smith - Director"
c = b.split(/\s-\s(.*)/g)
c    
["Employee", "John Smith - Director", ""]

字符串
所以你在c[0]中有第一个单词,在c[1]中有其余的单词。

zynd9foi

zynd9foi2#

你可以像

var str = "Employee - John Smith - Director "  
var s=str.split("-");
s.shift() ;
s.join("-");
console.log(s);

字符串

l2osamch

l2osamch3#

var str = "Employee - John Smith - Director "  
str.split("-",1)

字符串
然后分割其他使用此链接:How can I split a long string in two at the nth space?

v8wbuo2f

v8wbuo2f4#

这个问题很老了,但我对现有的答案并不满意。以下是我的简单易懂的解决方案:

const splitAtFirstOccurence = (string, pattern) => {
  const index = string.indexOf(pattern);
  return [string.slice(0, index), string.slice(index + pattern.length)];
}

console.log(splitAtFirstOccurence('Employee - John Smith - Director', ' - '));
// ["Employee", "John Smith - Director"]

字符串

相关问题