當我說簡單的時候,我的意思是,在一個表達式中,這樣我就可以將它作爲哈希值存儲起來,而不用先準備好。我會發布我的解決方案,但我正在尋找一個更好的,讓我想起更少的VB。 :)在Perl中返回多行字符串的第一行的最簡單方法是什麼?
9
A
回答
23
+0
謝謝,那就是我一直在尋找的!我也期待着閱讀那篇文章,因爲過去我曾經遇到過線路問題,但也許這不是Perl的錯。 – Kev 2009-01-09 13:59:00
+0
那麼,Perl使\ n在不同系統上表示不同的東西,但這並不意味着\ n是輸入的記錄分隔符。 :) – 2009-01-09 21:03:18
0
4
這不像你喜歡的那麼簡單,但簡單就是簡短就不應該總是目標。
您可以在一根繩子上打開一個文件句柄(作爲一個標量基準),並把它當作一個文件中讀取第一行:
my $string = "Fred\nWilma\Betty\n"; open my($fh), "<", \$string or die ...; # reading from the data in $string my $first_line = <$fh>; # gives "Fred" close $fh;
如果你真的想要,我想你會這樣減少表達式:
$hash{$key} = do { open my($fh), "<", \$string; scalar <$fh> };
無論您選擇哪種方法,你總是可以做出一個子程序返回的第一行,然後使用您的哈希分配子程序調用。
sub gimme_first_line { ... } $hash{$key } = gimme_first_line(\$string);
2
($str =~ /\A(.*?)$/ms)[0];
對於大字符串,這將是快於
(split /\n/, $str)[0]
通過曼尼的建議。 [編輯:刪除錯誤提及split /\n/, $str, 1
。]
如果要包含終端\n
(如果存在),請在正則表達式的關閉paren之前添加\n?
。
相關問題
- 1. C#中修剪字符串的換行符最簡單的方法是什麼?
- 2. 在Perl中添加二進制字符串的最簡單方法是什麼?
- 3. 在PHP中引用多字節字符串的最簡單方法是什麼?
- 4. 解析C中字符串的最簡單方法是什麼?
- 5. 什麼是在perl中增加字符串的最快方法?
- 6. 在Perl中打印沒有變量替換的多行字符串的簡單方法是什麼?
- 7. 什麼是循環多行字符串中行的好方法?
- 8. 索引C++字符串的最簡單方法是什麼?
- 9. VBScript:格式化字符串的最簡單方法是什麼?
- 10. 將從服務器返回的字符串分配給javascript字符串的最簡單方法是什麼?
- 11. 在Perl中執行XPath查詢XML數據的最簡單方法是什麼?
- 12. 什麼是計算字符串中字符頻率最簡單的方法?
- 13. 用現代C++返回字符串中第一個正則表達式匹配的簡單方法是什麼?
- 14. 在Ruby中執行XMLHttpRequest的最簡單方法是什麼?
- 15. 在打字稿中返回實體數組最簡單的方法是什麼?
- 16. 確定字符串中第一個字符的最有效方法是什麼?
- 17. 在C#中,跨多個源代碼行傳播單行字符串文字的最佳方法是什麼?
- 18. 什麼是從Swift中的字符串中刪除第一個字符的最簡潔的方法?
- 19. 在C++中驗證GPS字符串的最簡單方法是什麼?
- 20. 在iOS中解析RFC3339日期字符串的最簡單方法是什麼?
- 21. 在Node.js中解析XML字符串的最簡單方法是什麼?
- 22. 獲取字符串中關鍵字列表的最簡單方法是什麼?
- 23. 用awk從文件中刪除第一行和最後一行的最簡單方法是什麼?
- 24. 從字符串返回第一行
- 25. 什麼是進行字符串比較最有效的方法?
- 26. 在Mac上運行IIS的最簡單方法是什麼?
- 27. 在行上打印數組的最簡單方法是什麼?
- 28. 從Razor塊返回字符串的最簡潔的語法是什麼?
- 29. 將Int32的字節轉換爲字符串的最簡單方法是什麼?
- 30. 什麼是在字符串末尾移除子字符串的最簡單/最好的方法?
爲什麼厭惡提前準備它?它通常需要花哨的魔咒作爲單線,這與簡單相反。雖然找出這些東西很有趣,但在真正的程序中使用它們並不是一個好主意,因爲您獲得的鴿友越多,後來就越難明白。 – 2009-01-09 13:56:27
這是一個臨時解決方案。 :)雖然好點。 – Kev 2009-01-09 14:00:10