- Set fso = CreateObject("Scripting.FileSystemObject")
- For Each f in fso.GetFolder(".").Files
- ext = LCase(fso.GetExtensionName(f))
- If ext = "txt" Then
- txt = fso.OpenTextFile(f).ReadAll
- fso.OpenTextFile(f & ".txt", 2, true).Write GetUrl(txt)
- End If
- Next
- MsgBox "OK"
- Function GetUrl(str)
- Set re = New RegExp
- re.Pattern = "(?:^|\r\n)(第[一二两三四五六七八九十○零百千\d]{1,9}[章节回])\s?(.{0,15}?)(?=\r\n)"
- re.Global = True
- re.IgnoreCase = True
- For Each m in re.Execute(str)
- If InStr(s, m & vbCrLf) = 0 Then s = s & m & vbCrLf
- Next
- GetUrl = s
- End Function
复制代码 "^(第[一二两三四五六七八九十○零百千0-90-9]{1,9}章)[]?(.{0,12})$"这样不能,
^行首和$行尾不能匹配,还有上面的如果不提取只替换$2 $3怎么写?还有就是以正则表达式分割了.
另外一条([\s\t]*)如果没空字符可以删除,或将集册部卷章节回那部分合并。
(?:^|[\r\n])([\s\t]*)(第[一二两三四五六七八九十○零百\d]{1,5}[集册部卷])?\s?(第[一二两三四五六七八九十○零百千\d]{1,9}[章节回])\s?(.{0,15}?)(?=[\r\n])
ebookPK里面的,也可以用在里面(第(?:[^第\n\r 章节回 ]+)[章节回])([\n\r]|([\.\s](?:[^第\n\r]+)[第 \n\r ]))
有谁会写按这样分割文件的vbs? |