gpt4 book ai didi

Javascript - Incasesensitif split() 而不使用 toLowerCase() 或 toUpperCase()

转载 作者:行者123 更新时间:2023-11-29 16:34:04 25 4
gpt4 key购买 nike

我正在尝试使用 split() 方法拆分字符串,但它区分大小写,问题如标题上所示。

问题是这样的

var str, ret;

str = "NubNubLabaLabaNubNub";
ret = str.split("labalaba"); // ret return ["NubNubLabaLabaNubNub"]

// which i wanted ["NubNub","NubNub"]

当我使用toLowerCase()toUpperCase()时,整个字符串将会改变,分割后我希望它是一个原始的一个。

str = "NubNubLabaLabaNubNub";
ret = str.toLowerCase().split("labalaba".toLowerCase());

ret 返回 ["nubnub","nubnub"] 但我想要的结果是 ["NubNub","NubNub"]

我仍然不明白如何将“nubnub”返回到“NubNub”

谢谢。

最佳答案

您可以使用不区分大小写的正则表达式:

const str = "NubNubLabaLabaNubNub";
console.log(
str.split(/labalaba/i)
);

如果要分割的字符串位于变量中,escape it首先,然后将其传递给new RegExp:

const escape = s => s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');

const str = "abcfoo()barabc";
const splitOn = 'foo()bar';
const re = new RegExp(escape(splitOn), 'i');
console.log(
str.split(re)
);

关于Javascript - Incasesensitif split() 而不使用 toLowerCase() 或 toUpperCase(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53001138/

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