我正在清理文件中的數據。因此,我閱讀每一行並檢查某些條件並在文件中執行適當的操作。我需要做的一件事是檢查字符串中字符$的出現。如果發現我需要刪除包含$的其餘行。例如,如果該行是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
以獲取更多信息