如何批量将文本中的中文数字替换为阿拉伯数字?
![]() |
1
lalacat2i OP 抱歉,描述错误,应该是替换为阿拉伯数字。
|
![]() |
2
zxCoder 294 天前
数字的位数不会很多,都是有固定的书写格式的吧,感觉 if else 就可以
|
3
sunjiayao 294 天前 ![]() 正则应该可以搞定。但我不会正则
|
4
nuistzhou 294 天前 via iPhone
针对每个长度的大写数字写正则好了
|
5
tinytoadd 294 天前 via Android
|
![]() |
6
TuYanzheng 294 天前 via Android
@zxCoder 证明:一切数字都可以用不超过二十个汉字表示
反证:假设存在集合 A 表示不能用二十个以内汉字表示的数,则取最小的数 a,可以表示为“最小的不能用二十个以内汉字表示的数”,与集合描述相反 所以,一切数字都可以用二十个以内汉字表示。 |
![]() |
7
LiYanHong 293 天前
不会编程的话,总共就十个字,查找替换都比你提个问快
|
![]() |
8
SevnChen 293 天前
|
![]() |
10
shakoon 293 天前
楼主你说的这种字符是中文数字,不是中文大写数字。贰仟伍佰壹拾这种才是中文大写。
|
11
emonc 293 天前
正则走两遍,先把单位去掉,再把汉字换成阿拉伯数字。应该就能解决大部分情况
|
![]() |
12
l9rw 293 天前 ![]() 不会编程的话可以用 word 。
先 ctrl + H 打开替换窗口,点更多,勾选 [使用通配符] ,然后查找框里输入"第[零一二三四五六七八九十百千万]{1,10}条",不带引号,替换为里面留空,点最下面格式,随便选一个特殊格式。 选中自定义格式的 [第一条] ,点开始->选择->选择格式相似的文本,选中以后点开始->定义新编号格式->确定就好了 |
13
Maboroshii 293 天前 ![]() 要不反向思维试一下?
先做一个把阿拉伯数字翻译成汉字的方法,1001 -> 一千零一 , 这个应该好实现吧? 然后提前把 0 ~ 9999999 全部翻译好,最后反查替换。 |
14
zjj19950716 293 天前
|
![]() |
15
lalacat2i OP |
![]() |
16
MiketsuSmasher 291 天前
可以考虑一下这个项目,https://github.com/Ailln/cn2an
用这个批量生成所有出现过的数字,然后再批量替换 |
![]() |
17
lalacat2i OP @MiketsuSmasher 感谢,最近没上才看到你的建议
|