gpt4 book ai didi

javascript - 在动态字符串中,如何在某个字符处开始子串并在某个字符处结束?

转载 作者:行者123 更新时间:2023-11-30 08:36:22 26 4
gpt4 key购买 nike

我在 javascript 中有字符串。

var string = "BLAH BLAH BLAH width: 673px; height: 123px; BLAH BLAH BLAH width: 1009px; height: 237px; BLAH BLAH"

我想从中得到两个子串。一个从 'width' 开始到 'px' 结束,一个从 'height' 开始到 'px 结束'

每对 'width''height' 都会发生这种情况。这可以在我的字符串中出现 n 次。每次都有不同的宽度和高度数字。

我真的不知道该怎么做,因为字符串的长度是动态的。我不能只在某个索引处开始 substringsubstr 并转到某个索引。我也不知道如何使用 splitjoin。有没有办法用 jQuery 或 javascript 来做到这一点。

我现在的方式很慢...

for (var w = 1; w <= 10000; w++) {
for(var h = 1; h<=10000; h++)
{
var match = text.match("style=\"width: " + w + "px; height: " + h + "px;");
if (match != null) {
text = text.split("style=\"width: " + w + "px; height: " + h + "px;").join('');
}
}
}

找到子字符串后,我希望将它们从我的字符串中删除。

最佳答案

编辑后,您可以根据自己的要求简单地执行此操作:

var string = "BLAH BLAH BLAH width: 673px; height: 123px; BLAH BLAH BLAH width: 1009px; height: 237px; BLAH BLAH";
var regExp = /(\b\w+:[^:]*px)/g
string = string.replace(regExp,'')

使用正则表达式,你可以这样做:

var string = "BLAH BLAH BLAH width: 673px; height: 123px; BLAH BLAH BLAH width: 1009px; height: 237px; BLAH BLAH";
var regExp = /(\b\w+:[^:]*px)/g
var match = regExp.exec(string);
while(match != null)
{
var width = match[1]
match = regExp.exec(string);
var height = match[1]
match = regExp.exec(string);
}

在此之后,在每次迭代中,变量 width 将具有子字符串 width: 4874px 并且变量 height 将具有子字符串 高度:898px

关于javascript - 在动态字符串中,如何在某个字符处开始子串并在某个字符处结束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31035279/

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