javascript - 如何从第二个连字符之后的字符串中获取子字符串?

标签 javascript jquery

如果字符串中有三个或更多连字符,我需要从第二个连字符之后的字符串子字符串中获取。

例如,我有这个字符串:

"someStr1 - someStr2 - someStr3 - someStr4"

正如你所看到的,它有 3 个连字符,我需要从子字符串上面的字符串中获取:

"someStr3 - someStr4"

我知道我需要获取第二个连字符的索引位置,然后我可以使用子字符串函数 但我不知道如何检查是否有超过 3 个连字符以及如何检查位置是否是第二个连字符。

最佳答案

您可以使用正则表达式 (?<=([^-]*-){2}).*

  • (?<=([^-]*-){2})确保有 2 -比赛前

    • (?<= ... )是积极的回顾

    • [^-]*匹配除 - 之外的任何内容, 0次或多次

    • -匹配-从字面上看

  • .*匹配这两个破折号之后的任何内容。

Demo.

const data = "someStr1 - someStr2 - someStr3 - someStr4";
console.log(/(?<=([^-]*-){2}).*/.exec(data)[0]);

关于javascript - 如何从第二个连字符之后的字符串中获取子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49878366/

相关文章:

javascript - Get 方法不适用于下载 URL

jquery - 平滑滚动 anchor jquery

jquery - JqG​​rid 排序图标显示不正确

javascript - 如何在angularjs中将字符串时间转换为日期时间

javascript - 根据屏幕宽度裁剪单词

javascript - 如何使用 Node.js 和 Mongoose 将对象添加到嵌套数组

javascript - 立即检测输入[type ="text"]的变化

c# - 使用ajax的跨服务器web服务

jquery - 为什么在动画出现之前屏幕会变白?

Javascript 图像调整大小