我正在清理文件中的数据。因此,我阅读每一行并检查某些条件并在文件中执行适当的操作。我需要做的一件事是检查字符串中字符$的出现。如果发现我需要删除包含$的其余行。例如,如果该行是Perl:遇到某个字符后删除其余的字符串
abc$hello-goodbye
我需要得到
abc
如何做到这一点在Perl用最少的代码?使用某种类型的正则表达式?
我正在清理文件中的数据。因此,我阅读每一行并检查某些条件并在文件中执行适当的操作。我需要做的一件事是检查字符串中字符$的出现。如果发现我需要删除包含$的其余行。例如,如果该行是Perl:遇到某个字符后删除其余的字符串
abc$hello-goodbye
我需要得到
abc
如何做到这一点在Perl用最少的代码?使用某种类型的正则表达式?
最快的是由一个简单的正则表达式:
$string =~ s/\$.*//;
其中
$string = 'abc$hello-goodbye';
在Ruby中,
>> "abc$def".split("$")[0]
=> "abc"
>>
同样,使用来自Perl中split()
功能做到这一点,并得到第一个元素。请参阅perldoc -f split
以获取更多信息