2011-04-08 108 views
3

我正在清理文件中的數據。因此,我閱讀每一行並檢查某些條件並在文件中執行適當的操作。我需要做的一件事是檢查字符串中字符$的出現。如果發現我需要刪除包含$的其餘行。例如,如果該行是Perl:遇到某個字符後刪除其餘的字符串

abc$hello-goodbye 

我需要得到

abc 

如何做到這一點在Perl用最少的代碼?使用某種類型的正則表達式?

回答

8

最快的是由一個簡單的正則表達式:

$string =~ s/\$.*//; 

其中

$string = 'abc$hello-goodbye'; 
1

您可以使用正則表達式或indexsubstr的組合。

這應該不是太難。

1

在Ruby中,

>> "abc$def".split("$")[0] 
=> "abc" 
>> 

同樣,使用來自Perl中split()功能做到這一點,並得到第一個元素。請參閱perldoc -f split以獲取更多信息

相關問題