fpc : 连续2个以上的空格替换成1个空格
2015-04-11 12:45
260 查看
我们先看看 python 的写法:
space1.py
我们看看free pascal 写法:
space1.pas
编译 fpc space1.pas
运行 space1.exe tmp.txt
space1.py
# -*- coding: cp936 -*- import os, sys import re if len(sys.argv) ==2: f1 = sys.argv[1] else: print 'usage: space1.py file1.txt ' sys.exit(1) if not os.path.exists(f1): print 'ERROR: %s not found\n' % f1 sys.exit(1) fp = open(f1,'rt') f2 = f1 +'.bak' fp2 = open(f2,'w') aline ='' for line in fp: aline = re.sub(r'[ ]{2,}',' ',line) fp2.write(aline) # fp.close() fp2.close()
我们看看free pascal 写法:
space1.pas
Program space1; {$mode objfpc}{$H+} uses sysutils; Var f1,f2:text; str,str2:string; ln:integer; Begin if ParamCount =1 then begin AssignFile(f1,ParamStr(1)); AssignFile(f2,ParamStr(1)+'.bak'); end else begin if ParamCount =2 then begin Assign(f1,ParamStr(1)); Assign(f2,ParamStr(2)); end else begin writeln(' usage: readfile file1.txt '); writeln(' usage: readfile file1.txt file2.bak '); exit; end; end; ln:=0; Reset(f1); Rewrite(f2); while not eof(f1) do begin ln:=ln+1; readln(f1,str); if length(str)>0 then begin while Pos(' ',str)>0 do begin str := StringReplace(str,' ',' ',[rfReplaceAll]); end; str2 := str; writeln(f2,str2); end; end; CloseFile(f2); CloseFile(f1); writeln('line number: ',ln); End.
编译 fpc space1.pas
运行 space1.exe tmp.txt
相关文章推荐
- 使用正则表达式将一个字符串中连续的多个(两个或者两个以上)替换为一个空格
- 使用JAXB解析XML时,获得的值中的连续2个空格被合并成1个空格
- php将连续回车(换行)、空格正则替换为1个
- C# 将字符串中的一个或连续多个空格都替换成一个空格或逗号
- 如何将字符串中连续的多个空格用一个替换
- Stirng类的常见用法:输出str长度,输出第一个"o",和最后一个"o"的索引,将str中的字符"l"替换成"m",字符串str按空格“ ”分割为2个字符串,比较这两个字符串是否相等。
- 字符串空格的压缩:给定一个字符串,将其中连续出现的空格压缩为1个后,将其中已空格分隔的每个字符串逆序打印出来
- 去除连续2个以上的0
- Bash 替换连续多个空格为一个
- 将一个以上连续空格转为一个空格输出
- Qstring将多个连续的空格替换成一个空格的方法
- Oracle把两个空格以上的空格,替换为两个空格
- 正则表达式将字符串中的所有连续空格替换成一个空格
- 字符串所有连续的空格替换为一个空格
- 去除一个字符串的开头和结束部分的空格,中间有连续的两个或两个以上的空格,则保留一个空格
- QT如何将字符串中连续的多个空格用一个替换
- 某公司笔试题:编程实现去除字符串中连续出现一次以上的空格。
- 替换字符串中连续空格为一个空格的方法(SQL)
- 【iOS开发】---- 正则表达式替换一个或一个以上空格
- office技巧-1 : 如何在excel中将不连续的空格替换成相同的值