gpt4 book ai didi

javascript - 如何在javascript中的2个模式之间拆分字符串

转载 作者:搜寻专家 更新时间:2023-10-31 23:33:58 25 4
gpt4 key购买 nike

我想在 2 个模式之间拆分 string 以便我得到正确的项目

我想在下面的字符串之间拆分

_333/4444.json_(3 or 4 numbers).json

下面是我的模式:

"test_halloween Party 10 AM - 12:30 PM party_560.json"

"Kaulampur 1110 reva_2018 RR_999 Roadrover_4987.json"

拆分基于:

_560.json


_4987.json

最终输出:

1) 560

2) 4987

这是我尝试过的:

var str1 = "test_halloween Party 10 AM - 12:30 PM party_560.json";
var str2 = "Kaulampur 1110 reva_2018 RR_999 Roadrover_4987.json";


var res1 = str1.split(/_./)[0];

var res2 = str2.split(/_./)[0];

console.log(res1);

console.log(res2);

注意:一个模式应该给我两个结果

最佳答案

尝试正则表达式。

这里有一本关于它们如何工作的入门读物:https://www.codepicky.com/regex/

/_(\d{3,4})\.json$/

这种模式发生了什么?

  1. 开头和结尾的/只是定义模式的书挡
  2. _ 文字将匹配数字前面的下划线
  3. (\d{3,4}) 定义了一个匹配 3 或 4 个连续数字的“捕获组”。这很方便,因为它可以让我们从整体模式中单独提取您想要的数字。
  4. \.json$ 匹配字符串 .json (你必须用斜杠转义句点,因为它是一个特殊的正则表达式字符)和 $ 强制它在字符串的末尾

例子:

let result1 = "test_halloween Party 10 AM - 12:30 PM party_560.json".match(/_(\d{3,4})\.json$/);
// result1[1] === 560

let result2 = "Kaulampur 1110 reva_2018 RR_999 Roadrover_4987.json".match(/_(\d{3,4})\.json$/);
// result2[1] === 4987

let result3 = "this string will not match".match(/_(\d{3,4})\.json$/);
// result === null

正则表达式非常通用、精确且快速。看看这个基准测试,将它与字符串索引查找替代方案进行比较:http://jsben.ch/lbfUt

关于javascript - 如何在javascript中的2个模式之间拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53106830/

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