簡體   English   中英

首次出現時拆分字符串

[英]Split string at first occurrence

我正在努力將以下字符串分成兩部分。 主要是因為可能的分隔符之一是空格字符,它可以出現在第二個捕獲組中。

https://regex101.com/r/dS0bD8/1

如何在\\s\\skeyword\\s\\skey\\s拆分這些字符串?

'[] []' // => ['[]', '[]']
'[] keyword []' // => ['[]', '[]']
'[] key []' // => ['[]', '[]']

'[] ["can contain spaces"]'  // => ['[]', '["can contain spaces"]']
'[] keyword ["can contain spaces"]' // => ['[]', '["can contain spaces"]']
'[] key ["can contain spaces"]' // => ['[]', '["can contain spaces"]']

'{} {}' // => ['{}', '{}']
'{} keyword {}' // => ['{}', '{}']
'{} key {}' // => ['{}', '{}']

'{} {"can":"contain spaces"}' // => ['{}', '{"can":"contain spaces"}']
'{} keyword {"can":"contain spaces"}' // => ['{}', '{"can":"contain spaces"}']
'{} key {"can":"contain spaces"}' // => ['{}', '{"can":"contain spaces"}']

'string string' // => ["string", "string"]
'string keyword string' // => ["string", "string"]
'string key string' // => ["string", "string"]
(\skeyword\s|\skey\s|\s(?=.*[\[{]|[^\]}]+$))

將適用於您提供的所有案例。
在這里演示

您可以將"keyword""key"替換為空字符串"" ,然后拆分\\s+

str.replace(/keyword|key/g, "").split(/\s+/)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM