Board logo

标题: [文本处理] (已解决)一行英文字母和数字。怎样在中间插入指定汉字? [打印本页]

作者: 8532200    时间: 2020-3-13 17:59     标题: (已解决)一行英文字母和数字。怎样在中间插入指定汉字?

本帖最后由 8532200 于 2020-3-14 10:37 编辑

有以下文件


XIAOZI888.TXT
DAZI588.TXT
WUZI988.TXT
WUWU688.TXT


怎样才能在首位数字前插入指定汉字?变成这样                (只需要在首次出现的数字前插入指定汉字

XIAOZI小888.TXT
DAZI小588.TXT

在论坛搜索了数字前插入指定


没有结果

目前已有软件TextForever,但这个软件只能删除第一个出现的字符。也就是说没办法智能去除英文字母

求大佬看看我这个问题难度大不大。。。。。
作者: Gin_Q    时间: 2020-3-13 21:32

  1. D:\GIN\c\test>test1.exe abcd123 测试
  2. abcd测试123
  3. D:\GIN\c\test>
复制代码
这样吗?
作者: 8532200    时间: 2020-3-13 21:44

回复 2# Gin_Q
?????????????????????感谢回复。。。但你这个怎么看都不是批处理代码吧?
实测无效
作者: Gin_Q    时间: 2020-3-14 08:16

功能单一,没有设置flag,返回原字符!
  1. @echo off
  2. ::相关变量
  3. set "flag=小"
  4. ::begin
  5. for /f %%a in (0.txt) do (
  6. for /f %%b in ('Gin.exe "%%a" "%flag%"') do echo %%b)
  7. pause
复制代码
测试文件
  1. XIAOZI888%!2.TXT
  2. DAZI588.TXT
  3. WUZI988.TXT
  4. WUWU688.TXT
复制代码
测试结果
  1. XIAOZI小888%!2.TXT
  2. DAZI小588.TXT
  3. WUZI小988.TXT
  4. WUWU小688.TXT
  5. 请按任意键继续. . .
复制代码

作者: 8532200    时间: 2020-3-14 09:41

回复 4# Gin_Q


    感谢回复,实测不行。。。估计你用的是我不懂的批处理。

你这个需要的东西太多了。。还需要下载EXE?还需要另外创建0.TXT?我都按照代码创建了。。txt里面也写了小字。编码也改了。。还是不行



作者: Gin_Q    时间: 2020-3-14 10:02

1) 0.txt只是测试用的字符串(你可以自己获取你要修改的字符串)
2) Gin.exe直接返回修改好的字符串
3) 最后拿着修改好的字符串重命名你之前的文件名
作者: Gin_Q    时间: 2020-3-14 10:18

  1. @echo off
  2. ::相关变量
  3. set "flag=小"
  4. ::begin
  5. for /f %%a in ('dir /b /a-h /a-d') do (
  6. for /f %%b in ('Gin.exe "%%~nxa" "%flag%"') do ren %%~nxa %%b)
  7. echo "Done"
  8. pause>nul&exit
复制代码

作者: 8532200    时间: 2020-3-14 10:36

回复 7# Gin_Q


    这次终于成功了。。。感谢大大。。。。其实我有其他方法可以做到。。就是步骤多了十几个步骤。。。。。所以才来问问有没有可能在首位数字前插入汉字。。。感谢!!!!!!!!!!!!!!!!!!
作者: WHY    时间: 2020-3-14 10:39

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('dir /b *.txt ^| findstr /i "^[a-z][a-z]*[0-9][0-9]*\.txt$"') do (
  4.     set "s=%%~ni"
  5.     for /f "delims=1234567890" %%j in ("!s!") do (
  6.         ren "%%i" "%%j汉字!s:%%j=!%%~xi"
  7.     )
  8. )
  9. pause
复制代码

作者: WHY    时间: 2020-3-14 10:40

  1. @echo off
  2. PowerShell "dir *.txt | ?{$_.Name -match '^([a-z]+)(\d+\.txt)$'} | ren -NewName{$matches[1] + '中文' + $matches[2]}"
  3. pause
复制代码

作者: 8532200    时间: 2020-3-14 11:09

回复 10# WHY


    感谢回复




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2