gpt4 book ai didi

javascript - 如何在多次出现字符后使用 JavaScript/jQuery 动态拆分字符串

转载 作者:行者123 更新时间:2023-11-30 12:19:11 25 4
gpt4 key购买 nike

我正在寻找一种在 JavaScript 中动态拆分字符串并在多次出现特定字符后保留内容的方法。我试过到处寻找解决这个问题的方法,但没有成功。这是我将使用的格式示例:

var s = "2015 年 7 月 22 日 17:44 Foo 从地址 127.0.0.1 连接到聊天";

在上面的示例中,我想要 2015 年之后该行的其余内容,但同时我不想使用 2015 或字符串的任何开头作为硬编码方式进行拆分,因为用户可以这样称呼自己,这会弄乱 split 的方式,而且我有时也不得不倒退几年。

简而言之,我想在第 4 个空格后动态拆分字符串,并保留后面的内容而不拆分其余部分。

最佳答案

做匹配而不是拆分。

> var s = "17:44, 22 July 2015 Foo connected to chat from address 127.0.0.1";
> s.match(/^((?:\S+\s+){3}\S+)\s+(.+)/)
[ '17:44, 22 July 2015 Foo connected to chat from address 127.0.0.1',
'17:44, 22 July 2015',
'Foo connected to chat from address 127.0.0.1',
index: 0,
input: '17:44, 22 July 2015 Foo connected to chat from address 127.0.0.1' ]
> s.match(/^((?:\S+\s+){3}\S+)\s+(.+)/)[1]
'17:44, 22 July 2015'
> s.match(/^((?:\S+\s+){3}\S+)\s+(.+)/)[2]
'Foo connected to chat from address 127.0.0.1'

var s = "17:44, 22 July 2015 Foo connected to chat from address 127.0.0.1";
alert(s.match(/^(?:\S+\s+){3}\S+|\S.*/g))

  • ^(?:\S+\s+){3}\S+ 将匹配前四个单词。
  • | 或者
  • \S 匹配剩余字符串中的第一个非空格字符。
  • .* 贪婪地匹配所有剩余的字符。

关于javascript - 如何在多次出现字符后使用 JavaScript/jQuery 动态拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31569760/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com