Re: [問題] 這樣的需求得要自己寫程式嗎?
※ 引述《buniro.bbs@ptt.cc (期待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海
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 7 之 17 篇):