检查字符串是否包含具有语言环境支持的子字符串是否可行?
'Ábc'.contains('A')
应该是真的。
Javascript现在有string.prototype.localeCompare()用于与语言环境支持进行字符串比较,但我看不到localeContains()
对应项。
答案 0 :(得分:1)
您可以这样做:
columns.Command(command => { command.Edit().Text(" "); command.Destroy().Text(" "); }).Width(86);
localCompare上的文档。灵敏度String.prototype.contains = function contains(charToCheck) {
return this.split('').some(char => char.localeCompare(charToCheck, 'en', {sensitivity: 'base'}) === 0)
}
console.log('Ábc'.contains('A')) // true
console.log('Ábc'.contains('B')) // true
console.log('Ábc'.contains('b')) //true
console.log('Ábc'.contains('u')) //false
console.log('coté'.contains('e')) //true
的意思是:
“基数”:仅基数不同的字符串比较为不相等。示例:
base
,a ≠ b
,a = á
。
答案 1 :(得分:1)
如果您要查找多个字符,这不是一个非常有效但可行的选择:
const localeContains = (a,b) => !!a.split('').filter((v,i)=>a.slice(i,b.length).localeCompare(b, "en", { sensitivity: 'base' })===0).length
a = "RESERVE ME";
b = "réservé";
console.log(localeContains(a,b));