tengo que tomar una serie de caracteres asiáticos mixtos (por ahora, asumir solamente kanji chino o japonés kanji/hiragana/katakana) y "alfanumérico" (es decir, , Enlgish, francés), y el recuento de la siguiente manera:usando javascript, ¿Cómo puedo contar una mezcla de caracteres asiáticos y palabras inglesas
1) contar cada caracteres asiáticos como 1; 2) cuente cada PALABRA alfanumérica como 1;
algunos ejemplos:
株式会社 MyCompany = 4 caracteres + 1 palabra = 5 en total 株式会社 マ イ コ = 7 cars
mi única idea hasta ahora es utilizar:
var wordArray=val.split(/\w+/);
y después comprobar cada elemento para ver si su contenido son alfanuméricos (así contar como 1) o no (a fin de tomar la longitud de la matriz). Pero no creo que sea realmente muy inteligente y el texto que se cuenta puede ser de hasta 10 000 palabras, por lo que no es muy rápido.
Ideas?
No se puede distinguir un carácter asiático de otros caracteres multibyte. – shinkou
Claro que puedes. Ellos tienen diferentes valores, después de todo. – Annabelle
Gracias a todos. Nos decidimos por: var charArray = val.match (/ \ w + | [^., \ UFF10- \ uFF19, \ uFF9E, \ uFF9F]/g); alerta (charArray.length); No estábamos interesados en el recuento de palabras asiáticas, necesitábamos el recuento de caracteres más el recuento de palabras alfanuméricas. Tendremos que agregar algunos códigos de exclusión, creo, pero este es un buen comienzo. – user224513