gpt4 book ai didi

javascript - 如何在Javascript中有条件地将包含日语字符的字符串放入单独的数组中

转载 作者:行者123 更新时间:2023-12-04 07:54:12 25 4
gpt4 key购买 nike

我刚问 how to put string conditionally into separate arrays in Javascript
它给了我一个很好的提示,但无法解决我的实际问题。
我用字母和数字来简化我的问题,但实际的字符串包含两种类型的日语字符:汉字和平假名。
你认为和上一个问题的答案做同样的事情吗?
我会在这里留下例子
(示例 1)
字符串:生き残る(生、残 => 汉字 き、る => 平假名)
结果:[生],[き],[残],[る]
(示例 2)
字符串:楽しい(楽 => 汉字しい => 平假名)
结果:[楽],[しい]

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

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
抱歉多次询问。谢谢你们。

更新
好的,我找到了解决方案,它也适用于平假名、汉字和片假名!谢谢大家的帮助!
解决方案
'生き残りタイのか'.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 - 如何在Javascript中有条件地将包含日语字符的字符串放入单独的数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66790785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com