带有语言环境的Javascript string.prototype.contains()

时间:2016-09-17 15:04:53

标签: javascript string localization

检查字符串是否包含具有语言环境支持的子字符串是否可行?

'Ábc'.contains('A')应该是真的。

Javascript现在有string.prototype.localeCompare()用于与语言环境支持进行字符串比较,但我看不到localeContains()对应项。

2 个答案:

答案 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 的意思是:

  

“基数”:仅基数不同的字符串比较为不相等。示例:basea ≠ ba = á

答案 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));