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