Javascript 如何将孟加拉语数字标记为NUNBER并使用它们?
萨拉姆❤️ 我是吉森的初学者。 每天都在学习小事情。 我怎么能和吉森一起处理孟加拉语数字? 我的意思是,我如何与jison合作,使用孟加拉语数字作为数字标记,并与他们合作(结果编号必须是孟加拉语)Javascript 如何将孟加拉语数字标记为NUNBER并使用它们?,javascript,jison,Javascript,Jison,萨拉姆❤️ 我是吉森的初学者。 每天都在学习小事情。 我怎么能和吉森一起处理孟加拉语数字? 我的意思是,我如何与jison合作,使用孟加拉语数字作为数字标记,并与他们合作(结果编号必须是孟加拉语) 我使用了正则表达式,但它不是语法化,只是标记化Jison不尝试在数字和字符串之间转换。它所做的只是确定输入中的数字在哪里,以及它们如何与输入中的其他标记相关。这就是解析的意义:将文本分成若干部分。其余部分是解释,为此,您需要使用正在使用的编程语言,在本例中是JavaScript 不幸的是(也有点令人惊
我使用了正则表达式,但它不是语法化,只是标记化Jison不尝试在数字和字符串之间转换。它所做的只是确定输入中的数字在哪里,以及它们如何与输入中的其他标记相关。这就是解析的意义:将文本分成若干部分。其余部分是解释,为此,您需要使用正在使用的编程语言,在本例中是JavaScript 不幸的是(也有点令人惊讶的是),JavaScript对Unicode的支持还不是很完善。特别是,它不提供任何与Unicode字符数据库(UCD)或该数据库中的Unicode属性的官方接口,除了实现Unicode正则表达式匹配子集所需的最小接口(仅当正则表达式设置了
u
标志时)。所以你不能做看起来合乎逻辑的事情,那就是查阅每个字符的数值属性
但是,由于您只对孟加拉语数字感兴趣,而对Unicode可以表示的所有脚本中的数字不感兴趣,因此对翻译进行硬编码是合理的。因此,您可以使用
孟加拉语常量编号=
str=>+(str.replace(/[\u09e6-\u09ef]/g,
digit=>String.fromCharCode(digit.charCodeAt(0)-2486)))
并使用
const banglaFromNumber=
n=>(“”+n)。替换(/[0-9]/g,
digit=>String.fromCharCode(digit.charCodeAt(0)+2486))
使用更现代的JavaScript,您可以使用replaceAll
而不是replace
(不带g
标志)。如果您的Javascript环境支持,您也可以使用codePointAt
而不是charCodeAt
,但对于孟加拉语数字来说,这没有任何区别
请注意,以上内容不处理输入或输出的逗号。如果你想写
৮৭৬৫৪৩২代码>作为<代码>৮৭,৬৫,৪৩২代码>,您需要再编写一些代码。非常感谢,但我还需要一个或两个帮助。我们可以聊聊吗?