gpt4 book ai didi

javascript - 以正则表达式结尾 - Javascript

转载 作者:行者123 更新时间:2023-11-30 14:30:47 24 4
gpt4 key购买 nike

"inquisitive".endsWith('ive') 返回 true

我希望能够搜索像 "inquisitive".endsWith(i[a-z]e) 这样的东西,它就像以 'i' 和之后的一些字符结尾,并且然后是 'e'。我不想进行子字符串匹配,因为此方法将是通用的,并且在大多数情况下不会有正则表达式,而是简单的 endsWith 逻辑。

有没有办法,使用 vanilla JS 可以实现?

最佳答案

如果您必须仅使用endsWith 并且出于任何奇怪的原因不能使用正则表达式,您可以列出之间的所有字符串iae''ize':

const allowedStrs = Array.from(
{ length: 26 },
(_, i) => 'i' + String.fromCharCode(i + 97) + 'e'
);
const test = str => allowedStrs.some(end => str.endsWith(end));
console.log(test('iae'));
console.log(test('ize'));
console.log(test('ife'));
console.log(test('ihe'));
console.log(test('iaf'));
console.log(test('aae'));

但这比应该的要复杂得多。如果可能的话,更改您的代码以接受使用正则表达式,这样更简单,而且应该更可取:

const test = str => /i[a-z]e$/.test(str);
console.log(test('iae'));
console.log(test('ize'));
console.log(test('ife'));
console.log(test('ihe'));
console.log(test('iaf'));
console.log(test('aae'));

关于javascript - 以正则表达式结尾 - Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51204701/

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