【问题标题】:Split text into words ignoring the single quoted word in text in JavaScript [duplicate]将文本拆分为单词,忽略 JavaScript 中文本中的单引号 [重复]
【发布时间】:2021-09-01 23:03:34
【问题描述】:

我正在尝试根据空格将文本拆分为单词,但我不想将单引号中的单词拆分为不同的单词。

这里如果你能看到单词'fd f df'被转换成三个单词'fd , f , df' 但我想把它变成像“fd f df”这样的单个词。

const str = `TEST = 'fd f df' AND Pitch = 444`
str.split(/\s+/)
// ["TEST", "=", "'fd", "f", "df'", "AND", "Pitch", "=", "444"]

任何帮助将不胜感激。

P.S : 这个引用的单词可以在文本中的任何位置重复多次。

【问题讨论】:

    标签: javascript arrays string typescript


    【解决方案1】:

    我建议使用正则表达式,在下面的示例中,正则表达式的第一部分匹配引号之间的任何内容,而正则表达式的第二部分匹配除空格之外的任何内容

    const str = `TEST = 'fd f df' AND Pitch = 444`
    
    console.log(str.match(/('.*?'|[^\s]+)/g));

    【讨论】:

    • 如果只有一个引用部分,这很好,但不适用于重复引用的单词。
    • 用惰性量词修复了它,感谢您指出这一点
    • @KrzysztofKrzeszewski 你能用惰性量词更新正则表达式吗,我对正则表达式不太了解。谢谢
    • 我已经做到了,它是正则表达式第一部分中的?
    猜你喜欢
    • 1970-01-01
    • 2010-10-21
    • 2016-09-16
    • 2012-06-07
    • 1970-01-01
    • 2020-12-15
    • 2010-10-13
    • 1970-01-01
    • 2021-10-16
    相关资源
    最近更新 更多