看板Programming
标 题Re: [问题] 这样的需求得要自己写程式吗?
发信站无名小站 (Thu Sep 27 04:18:09 2007)
转信站ptt!ctu-reader!ctu-peer!news.nctu!csnews.cs.nctu!news.cs.nctu!wretch
※ 引述《[email protected] (期待2008!)》之铭言:
> 有一个2MB多的Unicode纯文字档,当中有很多重覆的字串"1"、"2"、"3"..."200",
> 如果想将"85"之後的字串其数值都+1,也就是处理後"1"~"84"不变,"85"变"86"、
> "86"变"87"...."200"变"201",那麽这有什麽现成的Editor可以使用吗?还是非得
> 自己写个程式来处理?如果只能自己写的话,各位板友建议用哪一种语言写,对
> 初学者来说比较容易?处理速度又以哪一种语言最快呢?还是速度都差不多?
我会的语言不多,
不过我觉得 Python 处理这个很快
速度的话,我不知道...
> 谢谢大家的指导!
大家好像都假定问题是用 \n 分隔的单纯数字?
原 po 好像没有讲单纯是这样?
那我会用 Python 配合 regex 来作...
import re
s = open(filename).read()
n = re.findall('\d+', s) # n 存放所有的数字 token
t = re.split('\d+', s) # t 存放所有的非数字 token
o = '' # o 存放结果
# 把切好的数字跟非数字接起来
for i in range(len(n)) :
o += t[i]
# 如果数字大於 84 那就 +1
if int(n[i]) > 84 :
o += str( int( n[i] + 1 ) )
else :
o += n[i]
o += t[len(n)]
--
如果你想要去
MIT 念人工智慧,那你最好少打一点
BBS。
--
夫兵者不祥之器物或恶之故有道者不处君子居则贵左用兵则贵右兵者不祥之器非君子
之器不得已而用之恬淡为上胜而不美而美之者是乐杀人夫乐杀人者则不可得志於天下
矣吉事尚左凶事尚右偏将军居左上将军居右言以丧礼处之杀人之众以哀悲泣之战胜以
丧礼处之道常无名朴虽小天下莫能臣侯王若能守之万物将自宾天地相合以降甘露民莫
之令而自均始制有名名亦既有夫亦将知止知止可以不殆譬道aipc0.cs.nthu.edu.tw海