में सबस्ट्रिंग चेक OCaml में एक प्रभावी सबस्ट्रिंग चेक कोडिंग में कोई मेरी मदद कर सकता है? दो तारों को देखते हुए, जांच करें कि पहले व्यक्ति में दूसरा क्या है?Ocaml
Str
मॉड्यूल का उपयोग करके, क्या हम यह कर सकते हैं?
में सबस्ट्रिंग चेक OCaml में एक प्रभावी सबस्ट्रिंग चेक कोडिंग में कोई मेरी मदद कर सकता है? दो तारों को देखते हुए, जांच करें कि पहले व्यक्ति में दूसरा क्या है?Ocaml
Str
मॉड्यूल का उपयोग करके, क्या हम यह कर सकते हैं?
इस तरह कुछ काम कर सकते हैं:
let contains s1 s2 =
let re = Str.regexp_string s2
in
try ignore (Str.search_forward re s1 0); true
with Not_found -> false
यहाँ समारोह के कुछ परीक्षण कर रहे हैं:
# contains "abcde" "bc";;
- : bool = true
# contains "abcde" "bd";;
- : bool = false
# contains "abcde" "b.";;
- : bool = false
# contains "ab.de" "b.";;
- : bool = true
let contains_substring search target =
String.substr_index search target <> None
कोर, सही की आवश्यकता है? – unhammer
इस अभ्यस्त काम करता है, तो 's2' विशेष regex चरित्र है इसमें अनुक्रम, जैसे '.'। आपको पहले 'Str.quote s2' कॉल करना होगा। – nlucaroni
मुझे नहीं लगता कि यह सच है। 'Regexp_string' का उद्देश्य बिल्कुल एक विशेष स्ट्रिंग से मेल खाना है। यह संभवतः आंतरिक रूप से उद्धरण करता है। मेरे परीक्षण बताते हैं कि यह कोड ठीक काम करता है। –
में एक बुरा नाम है, क्योंकि इसका विस्तार पुस्तकालयों में पहले से ही एक और अर्थ है। – ygrek