"inquisitive".endsWith('ive')
返回true
。
我希望能够搜索类似"inquisitive".endsWith(i[a-z]e)
的内容,就像以'i' and some character after that and then an 'e'
结尾的内容一样。我不想进行子字符串匹配,因为此方法将是通用的,并且在大多数情况下将不具有正则表达式,而具有简单的具有逻辑的ends。
有没有办法使用香草JS做到这一点?
答案 0 :(得分:2)
如果您只能使用endsWith
,并且出于某种奇怪的原因而不能使用正则表达式,则可以列出'iae'
和{之间的所有字符串的列表。 {1}}:
'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'));