
1 daviswei 2019 年 8 月 21 日 是不是[A-Za-z0-9] |
2 jdhao 2019 年 8 月 21 日 via Android capture group? 把英文放到 capture group,只保留这些 group 就 ok 了。英文看成 ascii 字符连续不断的字符串 |
3 SuperMild 2019 年 8 月 21 日 如果段落与段落之间有明确区分(比如空行),那么,只取每个段落的头几个和尾几个字符来判断就可以了。 |
5 DiamondbacK 2019 年 8 月 21 日 sed '/[^0-9A-z[:punct:]/d' |
6 taogen 2019 年 8 月 21 日 via Android 不知道你是什么编程语言,一般编程语言都采用的是 Unicode 字符编码。你搜一下你的语言,比如 Java 正则提取英文 Unicode 字符串 |
7 DiamondbacK 2019 年 8 月 21 日 更正: sed '/[^0-9Az[:punct:]]/d' |
8 SuperMild 2019 年 8 月 21 日 其他语种的段落里大概率会包含英文字母,如果简单抽取拼接在一起,结果看起来会很奇怪的。建议逐段处理,一段里超过多少个非英语字母就整段抛弃。 |
10 autoxbc 2019 年 8 月 21 日 写一个函数,对每个段落打分,按照英文和标点的百分比确定分值 |
11 DiamondbacK 2019 年 8 月 21 日 更正(加上空格): sed '/[^0-9A-z[:punct:] ]/d' |
12 DiamondbacK 2019 年 8 月 21 日 怎么问题又变了?不是「只保留纯英文段落」吗? 这个标准本身很明确啊,等同于将你们现在所说的「阈值」设为 0。 |
13 DiamondbacK 2019 年 8 月 21 日 你没定义「段落」,所以这里按行来处理。补充一个 gawk 方法: gawk "!/[^0-9A-z[:punct:] ]/{ print }" |
14 DiamondbacK 2019 年 8 月 21 日 |