【发布时间】:2011-08-02 23:50:29
【问题描述】:
我必须处理一个文本文件(电子书)。我想处理它,以便每行有一个句子(“换行符分隔的文件”,是吗?)。我将如何使用 sed UNIX 实用程序来完成这项任务?它是否具有“句子边界”的符号,就像“单词边界”的符号一样(我认为 GNU 版本有)。请注意,句子可以以句号、省略号、问号或感叹号结尾,最后两个组合在一起(例如,?、!、!?、!!!!! 都是有效的“句子终止符”)。输入文件的格式设置为某些句子包含必须删除的换行符。
我想到了一个像s/...|. |[!?]+ |/\n/g 这样的脚本(未转义以便更好地阅读)。但它不会删除句子中的换行符。
在 C# 中怎么样?如果我使用像 sed 这样的正则表达式会不会快得多? (我想不是)。还有其他更快的方法吗?
无论哪种方式(sed 或 C#)都可以。谢谢。
【问题讨论】:
标签: c# sed nlp text-segmentation