gpt4 book ai didi

javascript - 根据特定标准从字符串中提取子字符串的有效方法?

转载 作者:行者123 更新时间:2023-11-28 13:45:52 25 4
gpt4 key购买 nike

我有一个字符串列表,取自许多CSSRule的selectorText,字符串具有一般形式(不确定RegEx):

".selector1 .elementClass[, ]*"

具体例子如下:

".point"
".point.lackofclearance .stand_b, .point.lackofclearance .stand_c"
".point .path_a,.point .path,.point .stand"
".blink_on .point.direction_open .stand"
".blink_off .point.a_in_ratc_selection .path_a, .blink_off .point
.path.a_in_ratc_selection"

现在,在这些字符串中,有趣的是那些包含字符串“point”的字符串,而在那些包含字符串“point”的字符串中,我感兴趣在紧接在“.point.”之后和下一个空格字符之前的子字符串中。它们代表我想读取的 Elements 的状态。

例如:

从“.point”中没有要提取的子字符串,并且从“.point .path_a,.point .path,.point .stand”中也提取,没有什么可提取的,因为“.point.”根本不作为一个整体存在。 BUT 对于 ".point.lackofclearance .stand_b, .point.lackofclearance .stand_c"我想提取 "lackofclearance",第一个和当然,这是第二次出现。

我脑子里已经有了一个想法,那就是:

  • 检查字符串“point”是否存在
  • 如果是,则用“,”分割字符串
  • 对于每个结果子字符串,用“”(空格字符)分隔
  • 对于每个结果子字符串,包含“.point.”,由“.”(点字符)分隔
  • 获取最后一个分割的第二个子字符串

是否有人有其他建议,一种别致的做法,可能更短,或更有效,或两者兼而有之......它必须在 JavaScript 中完成,在 Chrome 中,可以使用 jQuery。

最佳答案

var str = ".point.lackofclearance .stand_b, .point.lackofclearance .stand_c";
var re = /\.point\.(\w+)/g;
var result = [];
var m;
while (m = re.exec(str)) {
result.push(m[1]);
}
// result == ['lackofclearance', 'lackofclearance']

关于javascript - 根据特定标准从字符串中提取子字符串的有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14444727/

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