Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将孟加拉语数字标记为NUNBER并使用它们?_Javascript_Jison - Fatal编程技术网

Javascript 如何将孟加拉语数字标记为NUNBER并使用它们?

Javascript 如何将孟加拉语数字标记为NUNBER并使用它们?,javascript,jison,Javascript,Jison,萨拉姆❤️ 我是吉森的初学者。 每天都在学习小事情。 我怎么能和吉森一起处理孟加拉语数字? 我的意思是,我如何与jison合作,使用孟加拉语数字作为数字标记,并与他们合作(结果编号必须是孟加拉语) 我使用了正则表达式,但它不是语法化,只是标记化Jison不尝试在数字和字符串之间转换。它所做的只是确定输入中的数字在哪里,以及它们如何与输入中的其他标记相关。这就是解析的意义:将文本分成若干部分。其余部分是解释,为此,您需要使用正在使用的编程语言,在本例中是JavaScript 不幸的是(也有点令人惊

萨拉姆❤️ 我是吉森的初学者。 每天都在学习小事情。 我怎么能和吉森一起处理孟加拉语数字? 我的意思是,我如何与jison合作,使用孟加拉语数字作为数字标记,并与他们合作(结果编号必须是孟加拉语)
我使用了正则表达式,但它不是语法化,只是标记化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
,但对于孟加拉语数字来说,这没有任何区别


请注意,以上内容不处理输入或输出的逗号。如果你想写
৮৭৬৫৪৩২作为<代码>৮৭,৬৫,৪৩২,您需要再编写一些代码。

非常感谢,但我还需要一个或两个帮助。我们可以聊聊吗?