gpt4 book ai didi

javascript - 用于在第 n 个字符处拆分字符串的正则表达式单行代码,其中 n 是可变长度

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

我发现了一些类似的问题,但没有一个是干净的单线问题,我觉得这应该是可能的。我想在特定字符的最后一个实例处拆分一个字符串(在我的例子中是 .)。

var img = $('body').attr('data-bg-img-url'); // the string http://sub.foo.com/img/my-img.jpg
var finalChar = img.split( img.split(/[.]+/).length-1 ); // returns int 3 in above string example
var dynamicRegex = '/[.$`finalChar`]/';

我知道我在这里违反了一些规则,想知道是否有比我聪明的人知道将其组合并压缩的正确方法?

编辑 - 这里的最终目标是拆分和存储 http://sub.foo.com/img/my-img.jpg 作为单独的字符串。

最佳答案

在正则表达式中,.* 是贪婪的,意味着它会尽可能匹配。因此,如果你想匹配到最后一个 .,你可以这样做:

/^.*\./

从外观上看,您正在尝试获取文件扩展名,因此您需要添加捕获:

var result = /^.*\.(.*)$/.exec( str );
var extension = result[1];

对于这两个部分:

var result = /^(.*)\.(.*)$/.exec( str );
var path = result[1];
var extension = result[2];

关于javascript - 用于在第 n 个字符处拆分字符串的正则表达式单行代码,其中 n 是可变长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16281981/

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