在內存流(和多個字符串)中搜索字符串並返回true或false的最簡單方法是什麼?Delphi:在內存流中搜索字符串的最簡單方法
1
A
回答
2
var ms:TMemoryStream;
strS:TStringStream;
aStr:string;
aPos:integer;
found:boolean;
begin
ms:=TMemoryStream.Create;
ms.LoadFromFile('c:\aFile.txt');
strS:=TStringStream.Create;
strS.LoadFromStream(ms);
aPos:=pos(aStr,strS.dataString);
found:=aPos>0;
end;
TStringStream是一個經常忘詞,但非常有用的工具 - 比PChars中來得容易,更安全等
對於多次搜索,使用POS要麼ackwardly環,串等或使用正則表達式。
這段代碼在Delphi XE中可以正常工作,雖然TStringStream非常老舊 - 不確定它是否符合unicode。
(這個例子是有漏洞的 - 爲了簡潔起見我省略了最終代碼)
+1
在較新的Delphi版本中TStringStream.Create有一個接受TEncoding的重載:http://docwiki.embarcadero.com/Libraries/XE2/en/System.Classes.TStringStream.Create – 2013-04-16 14:39:43
相關問題
- 1. 最簡單的方法來搜索字符串中的Teradata
- 2. 簡單的方法來搜索字符串的字符串
- 3. 最簡單的方法來匹配字符串數組在Perl中搜索?
- 4. 搜索字符串的最快方法?
- 5. 在字符串列表中搜索字符串的最有效方法?
- 6. 在Eclipse中搜索字符串實例的最佳方法
- 7. PHP在數組中搜索字符串值的最佳方法?
- 8. 在文件中搜索字符串的最快方法
- 9. 在字符串內搜索
- 10. 在python中搜索簡併字符串
- 11. 在Vim中交換兩個字符串的最簡單方法?
- 12. 搜索字符串內的字符串
- 13. 在UNIX中搜索目錄或文件的最簡單方法?
- 14. 無法在Play 2.5(Scala)中串流簡單字符串
- 15. 獲取字符串中數值列表的最簡單方法
- 16. 解析C中字符串的最簡單方法是什麼?
- 17. 最簡單的方法來匹配鍵/字符串的二維數組在Perl中搜索?
- 18. 內容搜索字符串
- 19. 列表中存在搜索字符串
- 20. 在MySQL中搜索單個字符串
- 21. 將字符串轉換爲流的最簡單方法是什麼?
- 22. 存儲和搜索字符串的最佳做法mysql
- 23. 在MySQL LongText字段中搜索字符串的'正確'方法?
- 24. Java:獲取字符串中最後一個單詞的最簡單方法
- 25. Java:用隨機字符串替換字符串的最簡單方法
- 26. 搜索字符串內的子串
- 27. 什麼是計算字符串中字符頻率最簡單的方法?
- 28. 搜索字符串中的字符串
- 29. 在PHP中引用多字節字符串的最簡單方法是什麼?
- 30. 在字符串中搜索'$'
使用例如['Pos'](http://docwiki.embarcadero.com/Libraries/XE2/en/System.Pos)函數和這個['piece of code'](http://stackoverflow.com/a/733322/960757 )。 – TLama 2013-04-11 14:00:04
首先解決它們具有相同的編碼或字符集。相同的字符串值以UTF-8,UTF-16和非Unicode編碼提供了非常不同的字節值(TMemoryStream)。 – 2013-04-11 14:04:31
http://en.wikipedia.org/wiki/String_search – 2013-04-11 14:05:07