[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 如何将TXT中的中文数字转成阿拉伯数字?

很多TXT小说,都采用中文数字列章节,比如:
第一章 这是标题
这是第一章内容

第二十章  这是标题
这是第二十章内容

第两百廿一章  这是标题
这是XX内容

第千零一章  这是标题
这是XXX内容

谁帮忙指导一下

本帖最后由 autoav 于 2020-5-18 14:32 编辑

回复 2# smss
http://www.bathome.net/thread-30879-1-1.html
例子倒是有点看懂了,但是在RegEx()如何才能反复替换,现在文件执行一次,只能替换一次
  1. Function RegEx(txt)
  2.     Dim re, s, i, s1, ss
  3.     Set re = New RegExp
  4.     re.Pattern = "(第)([" & str & "]+)(章)"
  5.     If Not re.Test(txt) Then RegEx = txt : Exit Function
  6.            s = re.Execute(txt)(0).SubMatches(1) : s = Replace(s, "两", "二")
  7.     If Left(s, 1) = "十" Then s = "一" & s
  8.     For i = 1 to Len(s)
  9.         s1 = Mid(s, i, 1)
  10.         If InStr(str, s1) > 10 Then
  11.             ss = ss & "*10^" & (InStr(str, s1)-10) & "+"
  12.         Else ss = ss & (InStr(str, s1)-1)
  13.         End If
  14.     Next
  15.     s = Right("0000" & eval(ss & "+0"), 4)
  16.     RegEx = re.Replace(txt, "$1" & s & "$3")
  17. End Function
复制代码

TOP

自己加
smss 发表于 2020-5-18 13:41

这个办法就算了

TOP

返回列表