我需要将重复单词上的长字符串拆分为数组

Van*_*ton 1 javascript regex

尝试使用Javascript,我有一个很长的字符串,我需要使用在字符串中重复的单词将其拆分为数组。

例:

long_string = "THS& | Willam | Baker | 1234 Corker St| Jacksonville, TX 75074| THS& Steve | James | 4312 Corker St | Jacksonville, TX 75074| THS& | Samuel | Cade | 1257 Corker St | Jacksonville, TX 75074|"
Run Code Online (Sandbox Code Playgroud)

我尝试过拆分和匹配,但始终忽略了THS&

split_string = [];
split_string = long_string.split(/THS&/);
console.log(split_string);
Run Code Online (Sandbox Code Playgroud)


放入数组:

[THS& | Willam | Baker | 1234 Corker St| Jacksonville, TX 75074|, THS& Steve | James | 4312 Corker St | Jacksonville, TX 75074|, THS& | Samuel | Cade | 1257 Corker St | Jacksonville, TX 75074|]
Run Code Online (Sandbox Code Playgroud)

但是我得到的是这样的

[| Willam | Baker | 1234 Corker St| Jacksonville, TX 75074|, Steve | James | 4312 Corker St | Jacksonville, TX 75074|, | Samuel | Cade | 1257 Corker St | Jacksonville, TX 75074|]
Run Code Online (Sandbox Code Playgroud)

tri*_*cot 5

您在中匹配的所有内容split(如THS&)均不包括在结果中。解决方案是使用look-ahead,它实际上不会捕获字符串:

var long_string = "THS& | Willam | Baker | 1234 Corker St| Jacksonville, TX 75074| THS& Steve | James | 4312 Corker St | Jacksonville, TX 75074| THS& | Samuel | Cade | 1257 Corker St | Jacksonville, TX 75074|"

var split_string = long_string.split(/(?=THS&)/);
console.log(split_string);
Run Code Online (Sandbox Code Playgroud)