Re: [問題] 句子斷詞
※ 引述《godfat (godfat 真常)》之銘言:
: ※ 引述《itucson (愛吐桑)》之銘言:
: : 假設我有一句子:「網路應用程式」
: : 我想要隨机斷詞,會斷成不同情況
: : 網路應 用 程式 對照 001 1 01
: : 或: 網 路應 用程式 對照 1 01 001
: : 001101, 101001 我已經隨机產生了,可是不知道中文字要怎麼隨机長度來斷
: : 請問該怎麼做比較好
: 兩個字串一樣長,就 zip 起來並 fold
: 兩種狀況:
: 0. 串到最後一個詞
: 1. 串新詞
: 寫成程式就是:
: s = '網路應用程式'
: b = '001101'
: result = s.scan(/./u).zip(b.scan(/./)).inject([[]]){ |r, i|
: r.last << i.first
: r << [' '] if i.last == '1'
: r
: }.join
: puts result
: # => 網路應 用 程式
也來練習一下....
s = '網路應用程式'
b = '001101'
puts "#{s.split(//u).zip(b.split(//).map{|x|{"1"," "}[x]})}"
或
i = -1; puts s.gsub(/(.)/u) {|a| $1 + " "[0, b[i+=1]-?0]}
或
i = -1; puts s.gsub(//u){' 'if"0#{b}"[i+=1]==?1}
LCamel
※ 編輯: LCamel 來自: 59.115.146.218 (06/18 06:30)
討論串 (同標題文章)
Ruby 近期熱門文章
PTT數位生活區 即時熱門文章