ai didi

javascript按空格分割字符串,但忽略引号中的空格(注意不要也用冒号分割)

转载 作者:行者123 更新时间:2023-12-03 00:01:52 24 4
gpt4 key购买 nike

我需要帮助在 javascript 中按空格 ("") 拆分字符串,忽略引号表达式内的空格。

我有这个字符串:

var str = 'Time:"Last 7 Days" Time:"Last 30 Days"';

我希望我的字符串被分割为 2:

['Time:"Last 7 Days"', 'Time:"Last 30 Days"']

但是我的代码分成了 4 个:

['Time:', '"Last 7 Days"', 'Time:', '"Last 30 Days"']

这是我的代码:

str.match(/(".*?"|[^"\s]+)(?=\s*|\s*$)/g);

谢谢!

最佳答案

s = 'Time:"Last 7 Days" Time:"Last 30 Days"'
s.match(/(?:[^\s"]+|"[^"]*")+/g)

// -> ['Time:"Last 7 Days"', 'Time:"Last 30 Days"']

解释:

(?:         # non-capturing group
[^\s"]+ # anything that's not a space or a double-quote
| # or…
" # opening double-quote
[^"]* # …followed by zero or more chacacters that are not a double-quote
" # …closing double-quote
)+ # each match is one or more of the things described in the group

事实证明,要修复原始表达式,您只需在组上添加 + 即可:

str.match(/(".*?"|[^"\s]+)+(?=\s*|\s*$)/g)
# ^ here.

关于javascript按空格分割字符串,但忽略引号中的空格(注意不要也用冒号分割),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16261635/

24 4 0
文章推荐: Java:嵌套类、接口(interface)与包
文章推荐: javascript - 将 evt 监听器附加到动态创建的类
文章推荐: javascript - 控制台日志返回null
文章推荐: wordpress - 评论按钮 WordPress
行者123
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com