我试图在2个html载文文本之间产生一个人类可读的类wiki差异.我正在使用diff-lcs,第一步是将字符串(字符数组)分成一个句子数组,但保留它们的标点符号.
"I am a lion. Hear me roar! Where is my cub? Never mind, found him.".magic_split(/[.?!]/)
# => "I am a lion." "Hear me roar!" "Where is my cub?" "Never mind, found him."
Run Code Online (Sandbox Code Playgroud)
这应该可以解决问题
"I am a lion. Hear me roar! Where is my cub? Never mind, found him.".gsub(/[.?!]/, '\1|').split('|')
Run Code Online (Sandbox Code Playgroud)
除了gsub似乎无法插入字符.?!.而是它返回这个
"I am a lion| Hear me roar| Where is my cub| Never mind, found him|"
Run Code Online (Sandbox Code Playgroud)
什么是进行非破坏性拆分的最简单方法?因为它保持它分裂的字符.
Ser*_*sev 13
scan应该做的伎俩(扔strip在那里摆脱尾随空格).
s = "I am a lion. Hear me roar! Where is my cub? Never mind, found him."
s.scan(/[^\.!?]+[\.!?]/).map(&:strip) # => ["I am a lion.", "Hear me roar!", "Where is my cub?", "Never mind, found him."]
Run Code Online (Sandbox Code Playgroud)
我认为应该是\0
>> string = "I am a lion. Hear me roar! Where is my cub? Never mind, found him."
>> string.gsub(/[.?!]/, '\0|')
# "I am a lion.| Hear me roar!| Where is my cub?| Never mind, found him.|"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3529 次 |
| 最近记录: |