【问题标题】:How to count real total number of chars in a string?如何计算字符串中的实际总字符数?
【发布时间】:2020-06-18 16:55:30
【问题描述】:

对不起,如果这个问题很愚蠢。我需要计算字符串中的实际字符数。例如我有以下字符串:

हा य

使用.length 我得到以下结果:

let chars = "हा य";
console.log(chars.length);

for(var i = 0; i < chars.length; i++){
 console.log(chars[i]);
}

如您所见,这是错误的。我这里有三个字符:

这个 - हा, - 这个(空白)和 这个。正确计算它的正确和最短方法是什么?

【问题讨论】:

  • @JovylleBermudez 不。第一个字符被视为两个,将其分成不同的部分。
  • @palaѕн 你的意思是什么? हा - 一,&lt;empty space&gt;,- 二, - 三。我错了吗?
  • 那么,你的意思是 & हा 是同一个意思吗?
  • 我不知道印地语字母,但我猜为了避免许多组合使用大量不同的字符,ा' 是一个单独的修饰符。比较拼音字母符号的 Unicode - 请参阅 ipa.typeit.org/full 并尝试输入一个字母,然后使用符号底部行中的一个修饰符,然后按退格键一次删除一个。

标签: javascript


【解决方案1】:

希望这会有所帮助。

对于所有语言,您可以尝试Count number of characters present in foreign language

function countChars(text){
  return text.split("").filter( function(char){ 
let charCode = char.charCodeAt(); return charCode >= 2309 && charCode <=2361 || charCode == 32;
  }).length;
}

let chars = "हा य";
console.log(countChars(chars));

【讨论】:

  • 您能解释一下这段代码的作用和原因吗?具体charCode &gt;= 2309 &amp;&amp; charCode &lt;=2361的目的是什么?
  • @guy 隐身。我知道这是印地语的字符代码范围
  • 据我所知,问题不是“计算印地语字符的数量”。我很确定他们想要计算任何字符,而不是专门计算印地语。
  • 我实际上需要计算不同语言的字符串中的实际字符数。不仅仅是印地语。还有泰语和印尼语。如果这个符号`ा`出现在所有这些语言中,那么我们可以计算没有它的长度。这可以是解决方案吗?
  • 抱歉,这对所有语言都没有帮助。
猜你喜欢
  • 2010-10-07
  • 1970-01-01
  • 2021-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-25
相关资源
最近更新 更多