如何将包含日语字符的字符串有条件地放入Javascript中的单独数组中 [英] how to put string that contains japanese character conditionally into separate arrays in Javascript

查看:85
本文介绍了如何将包含日语字符的字符串有条件地放入Javascript中的单独数组中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚刚问过如何有条件地将字符串放入Javascript中的单独数组中它给了我很好的提示,但无法解决我的实际问题.

I just asked how to put string conditionally into separate arrays in Javascript and it gave me a great hint, but could not fix my actual problem.

我要求输入字母和数字来简化我的问题,但实际的字符串包含两种类型的日语字符:汉字和平假名.

I asked as alphabet and number to simplify my question but actual string contains 2 types of Japanese character: kanji and hiragana.

您认为与上一个问题的答案有相同的作用吗?我会在这里留下例子

Do you think do same thing as the answer in the previous question somewhat? I will leave examples here

(示例1)

字符串:生き残る(生,残=>汉字き,る=>平假名)

string: 生き残る (生, 残 => kanji き, る => hiragana)

结果:[生],[き],[残],[る]

result: [生],[き],[残],[る]

(示例2)

字符串:楽しい(楽=>汉字しい=>平假名)

string: 楽しい (楽 => kanji しい => hiragana)

结果:[楽],[しい]

result: [楽],[しい]

这就是我尝试过的(失败了)

and this is what I tried (and failed)

let regexForKanji = /([\u{3005}\u{3007}\u{303b}\u{3400}-\u{9FFF}\u{F900}-\u{FAFF}\u{20000}-\u{2FFFF}][\u{E0100}-\u{E01EF}\u{FE00}-\u{FE02}]?)/mu

let regexForHiragana = /[\u{3000}-\u{301C}\u{3041}-\u{3093}\u{309B}- \u{309E}]/mu



let string = "生き残る"

function ja2Bit ( str ) {
  return ( str.match(`${hiragana}+|${kanji}`)) 
}

ja2Bit(string)

//VM534193:2 Uncaught SyntaxError: Invalid regular expression: //[\u{3000}-\u{301C}\u{3041}-\u{3093}\u{309B}-\u{309E}]/mu+|/([\u{3005}\u{3007}\u{303b}\u{3400}-\u{9FFF}\u{F900}-\u{FAFF}\u{20000}-\u{2FFFF}][\u{E0100}-\u{E01EF}\u{FE00}-\u{FE02}]?)/mu/: Range out of order in character class

很抱歉多次询问.谢谢大家.

sorry for asking multiple times. Thanks guys.

更新

好的,我找到了解决方案,它也适用于平假名,汉字和假名.谢谢大家的帮助!

ok I found solution, and it will work for hiragana, kanji, and karakana as well! Thanks guys for help!

解决方案

'生き残りタイのか'.match(/^[\u30a0-\u30ff]+|[\u3040-\u309f]+|[\u30e0-\u9fcf]+|[\u30a0-\u30ff]+|[\u3040-\u309f]+/g)
//["生", "き", "残", "り", "タイ", "のか"]

推荐答案

'生き残りタイのか'.match(/^[\u30a0-\u30ff]+|[\u3040-\u309f]+|[\u30e0-\u9fcf]+|[\u30a0-\u30ff]+|[\u3040-\u309f]+/g)
//["生", "き", "残", "り", "タイ", "のか"]

这篇关于如何将包含日语字符的字符串有条件地放入Javascript中的单独数组中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆