Board logo

标题: [文件操作] 批处理如何替换文件中的星号*特殊符号? [打印本页]

作者: xiaopingln    时间: 2015-10-26 17:16     标题: 批处理如何替换文件中的星号*特殊符号?

本帖最后由 pcl_test 于 2016-12-14 21:07 编辑

求助:

用set 替换一个文件里面的特殊字符 *替换为空格

比如文件里面有一大堆字符串: “23423回来日3咽螺距3是啊kljsdfsjf;ajs;fdjsafjsklfjklsdjfklsjfklj3kl*.cnkljdsflkklfsj*.cnkljdfkjdfjdlkjkl*.com”

把*.cn 替换成空格
作者: pcl_test    时间: 2015-10-26 18:41

  1. ::先下载http://batch-cn.qiniudn.com/tool/4.0.7/sed.exe
  2. sed -i "s/\*\.cn/ /g" "a.txt"
复制代码

作者: pcl_test    时间: 2015-10-26 18:50

  1. @echo off
  2. set "file=a.txt"
  3. >$ (mshta "javascript:with(new ActiveXObject('Scripting.FileSystemObject')){GetStandardStream(1).Write(GetStandardStream(0).readall().replace(/\*\.cn/g,' '));close()}"|find /v "")<"%file%"
  4. move $ "%file%"
  5. pause
复制代码

作者: CrLf    时间: 2015-10-26 19:33

本帖最后由 CrLf 于 2015-10-26 21:56 编辑
  1. 1>1/* :
  2. @echo off
  3. cscript -nologo -e:jscript "%~f0" <a.txt >$
  4. move $ "%file%"
  5. pause & exit /b
  6. */
  7. WSH.Echo(WSH.StdIn.ReadAll().replace(/\*\.cn/ig,' '))
复制代码

作者: 依山居    时间: 2015-10-26 20:24

python3交互
  1. >>> s=r"23423回来日3咽螺距3是啊kljsdfsjf;ajs;fdjsafjsklfjklsdjfklsjfklj3kl*.cnkljdsflkklfsj*.cnkljdfkjdfjdl
  2. kjkl*.com"
  3. >>> ss=s.replace("*.cn"," ")
  4. >>> ss
  5. '23423回来日3咽螺距3是啊kljsdfsjf;ajs;fdjsafjsklfjklsdjfklsjfklj3kl kljdsflkklfsj kljdfkjdfjdlkjkl*.com'
  6. >>>
复制代码

作者: DAIC    时间: 2015-10-26 20:39

  1. gawk "gsub(/\*\.cn/,\" \")" 1.txt > 2.txt
复制代码

作者: 依山居    时间: 2015-10-27 00:28

  1. #python3替换文本文件中的字符.py
  2. #努力把论坛变成一个花样编程论坛~哈哈~~~
  3. f="a.txt"
  4. s="*.cn"
  5. t="FFF空格FFF"
  6. #方法1 字符替换
  7. def f1(f,s,t):
  8.     a=open(f,"r")
  9.     txt=a.read()
  10.     a=open(f,"w")
  11.     txt=txt.replace(s,t)
  12.     a.write(txt)
  13.     a.close()
  14.     print("f1:\n",txt)
  15. #f1(f,s,t)
  16. #方法2 正则替换
  17. import re
  18. s="\*\.cn"
  19. def f2(f,s,t):
  20.     a=open(f,"r")
  21.     txt=a.read()
  22.     a=open(f,"w")
  23.     s=re.compile(s)
  24.     txt=re.sub(s,t,txt)
  25.     a.write(txt)
  26.     a.close()
  27.     print("\r\nf2:",txt)
  28. #f2(f,s,t)
  29. #方法3 split切分再join
  30. txt=open(f,"r").read()
  31. txt=txt.split("*.cn")
  32. txt=t.join(txt)
  33. print(txt)
  34. '''
  35. output:
  36. 23423回来日3咽螺距3是啊kljsdfsjf;ajs;fdjsafjsklfjklsdjfklsjfklj3klFFF空格FFFkljdsflkklfsjFFF空格FFFkljdfkjdfjdlkjkl*.com
  37. '''
复制代码

作者: tmplinshi    时间: 2015-10-27 01:33

本帖最后由 tmplinshi 于 2015-10-27 01:34 编辑
依山居 发表于 2015-10-27 00:28
#努力把论坛变成一个花样编程论坛~哈哈~~~

支持
  1. ; AutoHotkey: http://ahkscript.org/boards/
  2. f := "a.txt"
  3. FileRead, data, %f%
  4. FileOpen(f, "w").Write( StrReplace(data, "*.cn", " ") )
复制代码

作者: terse    时间: 2015-10-27 01:51

没得搞了
  1. public class StringReplace
  2. {
  3.     public static void main(String[] args){
  4.         String str = "23423回来日3咽螺距3是啊kljsdfsjf;ajs;fdjsafjsklfjklsdjfklsjfklj3kl*.cnkljdsflkklfsj*.cnkljdfkjdfjdlkjkl*com*YcnX.cn";
  5.         str = str.replace('*.cn', ' ');
  6.         System.out.println(str);
  7.     }
  8. }
复制代码

作者: CrLf    时间: 2015-10-27 02:48

城里人真会玩
  1. Local $str = "23423回来日3咽螺距3是啊kljsdfsjf;ajs;fdjsafjsklfjklsdjfklsjfklj3kl*.cnkljdsflkklfsj*.cnkljdfkjdfjdlkjkl*com*YcnX.cn"
  2. $str = StringReplace($str,"*.cn", " ")
  3. TrayTip("",$str,10)
  4. Sleep(10000)
复制代码

作者: tmplinshi    时间: 2015-10-27 06:26

newLISP:
  1. (write-file "a.txt"
  2. (replace "*.cn" (read-file "a.txt") " "))
复制代码

作者: nwm310    时间: 2016-12-14 20:56

回复 1# xiaopingln
  1. @echo off
  2. setlocal enableDelayedExpansion
  3. set "s=23423回来日3咽螺距3是啊kljsdfsjf;ajs;fdjsafjsklfjklsdjfklsjfklj3kl*.cnkljdsflkklfsj*.cnkljdfkjdfjdlkjkl*.com"
  4. set a=□0□1□2□3□4□5□6□7□8□9□A□B□C□D□E□F
  5. set a=!多重影分身之术%a:□=!!a:□=□0x%!
  6. set c=!s:~1999%a:□=,1!□!s:~%,1!
  7. set c=!c:□*□.□c□n= !
  8. set c=!c:□=!
  9. echo !c!
  10. pause
复制代码

作者: pcl_test    时间: 2016-12-14 21:06

本帖最后由 pcl_test 于 2016-12-14 21:36 编辑
  1. powershell -c "(gc '文本.txt') -replace '\*\.cn',' '"
  2. pause
复制代码





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