如何在Ruby中删除句子之间多余的空格?
我的字符串在句子之间有额外的空格。字符串的目的是让人可读,因此句点和下一个句子的开头之间应该只有两个空格 句子中单词之间的空格应保持为单个空格,多余的空格应删除如何在Ruby中删除句子之间多余的空格?,ruby,parsing,Ruby,Parsing,我的字符串在句子之间有额外的空格。字符串的目的是让人可读,因此句点和下一个句子的开头之间应该只有两个空格 句子中单词之间的空格应保持为单个空格,多余的空格应删除 在Ruby中如何做到这一点?假设您使用要分隔句子,可以先使用挤压处理单词之间多余的空格,然后在之后添加两个空格使用gsub p = "The first line. The second line! The third line?" p.squeeze(" ").gsub(/([.?!]) */,'\1 ') =&
在Ruby中如何做到这一点?假设您使用
要分隔句子,可以先使用挤压
处理单词之间多余的空格,然后在之后添加两个空格代码>使用gsub
p = "The first line. The second line! The third line?"
p.squeeze(" ").gsub(/([.?!]) */,'\1 ')
=>"The first linee. The second line! The third line? "
(决定性地)这样做是不可能的。如果你想用统计上可能是正确的结果,那么你需要进行自然语言处理;这将需要更多的代码,而不是像这样一个线程的合理答案。描述它远不如提供一个输入和预期输出的示例。您还需要向我们展示一些您尝试过的代码。实际上我更喜欢这种方式。如果您应用了压缩
,那么将不再有连续的空格。正则表达式中的*
是多余的;它应该被?
替换。您的代码将Mr.uu-Bean
(
表示一个空格)转换为Mr.uu-Bean
,即转换为i.\uu-e.\uuuuu
和Oh-man…
转换为Oh-man.\uuuuu.\uuuuu.\uuuuu.\uuuu.\code>@sawa。。是的,我知道这个问题,所以我只能假设句子将被分割代码>。这种方法无法处理自然语言。非常感谢。我认为这样在大多数情况下都可以解决这个问题。这种情况或憨豆先生可能会在未来出现,但我相信这解决了眼前的问题。我将测试它。