Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Perl删除包含非英语字符的行_Perl_Non English - Fatal编程技术网

使用Perl删除包含非英语字符的行

使用Perl删除包含非英语字符的行,perl,non-english,Perl,Non English,鉴于这些数据 TRMMJJH12903CF8B69<SEP>SOKSZAQ12AC9070DC0<SEP>Alexandre Da Costa<SEP>Violin Concerto No.1 in G minor_ Op.26 - III. Allegro energico TRMMOWW128F1465642<SEP>SOGELZG12A6D4F865F<SEP>Yann Tiersen<SEP>La Valse D'

鉴于这些数据

TRMMJJH12903CF8B69<SEP>SOKSZAQ12AC9070DC0<SEP>Alexandre Da Costa<SEP>Violin Concerto No.1 in G minor_ Op.26 - III. Allegro energico

TRMMOWW128F1465642<SEP>SOGELZG12A6D4F865F<SEP>Yann Tiersen<SEP>La Valse D'Amélie (Version Orchestre)
输出如下所示:

violin concerto no
la valse d

第二行不应该出现。

这是一种效率极低的做事方式!你只是想把歌曲名称从上面的例子中分离出来吗?具体来说,你想达到什么目的?第二行是什么?如果它有一个非英语字符,我试图完全删除这一行。我知道这是无效的,这只是我尝试的第一件事,我只是不断补充。“第二行”是la valse d。这一行应该完全没有问题。您显示的Perl代码删除了很多标点符号。是这样吗?你说你想“删除一行完全如果它有一个非英语字符”。这意味着在示例数据中没有任何内容可以保留,因为第一行包含一个句号,第二行包含一个撇号。另外,文本记录之间真的有一条空行吗?你必须准确地展示你正在处理的事情。这是一种效率极低的做事方式!你只是想把歌曲名称从上面的例子中分离出来吗?具体来说,你想达到什么目的?第二行是什么?如果它有一个非英语字符,我试图完全删除这一行。我知道这是无效的,这只是我尝试的第一件事,我只是不断补充。“第二行”是la valse d。这一行应该完全没有问题。您显示的Perl代码删除了很多标点符号。是这样吗?你说你想“删除一行完全如果它有一个非英语字符”。这意味着在示例数据中没有任何内容可以保留,因为第一行包含一个句号,第二行包含一个撇号。另外,文本记录之间真的有一条空行吗?你必须清楚地表明你在处理什么。
use strict;
use warnings;   

my @data = ('TRMMJJH12903CF8B69<SEP>SOKSZAQ12AC9070DC0<SEP>Alexandre Da Costa<SEP>Violin Concerto No.1 in G minor_ Op.26 - III. Allegro energico', 'TRMMOWW128F1465642<SEP>SOGELZG12A6D4F865F<SEP>Yann Tiersen<SEP>La Valse D\'Amélie');

foreach (@data){
    my @split = split(/<SEP>/);
    print "$split[3]\n" unless /[^[:ascii:]]/;
}
use strict;
use warnings;   

my @data = ('TRMMJJH12903CF8B69<SEP>SOKSZAQ12AC9070DC0<SEP>Alexandre Da Costa<SEP>Violin Concerto No.1 in G minor_ Op.26 - III. Allegro energico', 'TRMMOWW128F1465642<SEP>SOGELZG12A6D4F865F<SEP>Yann Tiersen<SEP>La Valse D\'Amélie');

foreach (@data){
    my @split = split(/<SEP>/);
    print "$split[3]\n" unless /[^[:ascii:]]/;
}
Violin Concerto No.1 in G minor_ Op.26 - III. Allegro energico