0
A
回答
3
String
隨着模塊:
let contains s1 s2 =
try
let len = String.length s2 in
for i = 0 to String.length s1 - len do
if String.sub s1 i len = s2 then raise Exit
done;
false
with Exit -> true
隨着Str
模塊,如@barti_ddu所述檢查this topic:
let contains s1 s2 =
let re = Str.regexp_string s2 in
try
ignore (Str.search_forward re s1 0);
true
with Not_found -> false
+0
基於String的內存使用情況很可怕! –
+0
是的,但我認爲代碼會很容易理解爲新的OCaml用戶:-) – cago
4
使用電池,您可以使用String.exists。它也存在於ExtLib中:String.exists。
1
一個String
爲基礎的替代cago的回答可能有更好的性能和更低的內存使用率:
let is_substring string substring =
let ssl = String.length substring and sl = String.length string in
if ssl = 0 || ssl > sl then false else
let max = sl - ssl and clone = String.create ssl in
let rec check pos =
pos <= max && (
String.blit string pos clone 0 ssl ; clone = substring
|| check (String.index_from string (succ pos) substring.[0])
)
in
try check (String.index string substring.[0])
with Not_found -> false
-6
String str="hello world";
System.out.println(str.contains("world"));//true
System.out.println(str.contains("world1"));//false
+0
問題是關於ocaml不是java – mou
相關問題
- 1. 解析字符串和子字符串
- 2. OCaml的從字符串
- 3. OCaml re2多行字符串
- 4. 的Perl:字符串中子字符串或子字符串中
- 5. 字符串和子字符串以及子字符串在主字符串中的存在次數
- 6. OCaml將字符串解析爲字符串* Int列表
- 7. mysql trim字符串或子字符串字符串?如何?
- 8. 用字符串匹配子字符串
- 9. 從字符串獲取子字符串__
- 10. 字符串中的子字符串
- 11. 字符串的返回子字符串
- 12. 檢查字符串的子字符串
- 13. 字符串修剪/子字符串C#
- 14. 綁定字符串的子字符串
- 15. 字符串中的NSPredicate子字符串
- 16. 字符串子字符串函數
- 17. PHP - 字符串的子字符串
- 18. Trace.Write(字符串,字符串)和Trace.WriteLine(字符串,字符串)不要
- 19. 當字符串包含[]字符時替換字符串中的子字符串
- 20. Java和子字符串
- 21. 地圖和子字符串
- 22. Databinder.Eval和子字符串
- 23. 比較IEnumerable字符串和SortedList字符串,字符串
- 24. 提取字符串,字符串X和字符串之間ÿ
- 25. googletest doc C字符串和字符串
- 26. JNI字符串和C字符串
- 27. 源字符串和目標字符串
- 28. 差B/W字符串和字符串
- 29. 字符串和字符串生成器
- 30. Haskell的IO(字符串)和字符串
什麼您的意思是「可以有超過只有2串」?至於字符串/子串測試,請參閱http://stackoverflow.com/q/8373460/520394。 –
想向我們展示您的嘗試,以便我們能夠更高效地幫助您?幫助我們幫助你。 – Tim