如何统计指定子字符串在给定字符串中的出现次数?
如何获取特定子字符串在给定字符串中的出现次数?
要统计特定子字符串在源字符串中的出现次数,推荐使用正则表达式实现,这种方式能自动处理子串中的正则特殊字符,确保匹配的是字面量内容,避免语法冲突。
示例场景
- 源字符串:
"00101230314120600N400000HE9NNOTPROVIDED170002303141230738080759921100101230314120600N400000HE9NNOTPROVIDED1700023031412307380807599211" - 目标子字符串:
00101230314120600N400000HE9N
F# 实现代码
open System.Text.RegularExpressions let countMatches wordToMatch (input : string) = Regex.Matches(input, Regex.Escape wordToMatch).Count
代码说明
Regex.Escape wordToMatch:转义目标子串中的所有正则特殊字符(如*、?等),保证匹配的是子串的字面内容。Regex.Matches(input, ...):在源字符串中查找所有匹配的子串,返回匹配结果集合。.Count:获取匹配结果集合的元素数量,即子串的出现次数。
调用示例
let sourceStr = "00101230314120600N400000HE9NNOTPROVIDED170002303141230738080759921100101230314120600N400000HE9NNOTPROVIDED1700023031412307380807599211" let targetSubstr = "00101230314120600N400000HE9N" let result = countMatches targetSubstr sourceStr printfn "子字符串出现次数:%d" result // 输出:子字符串出现次数:2
内容的提问来源于stack exchange,提问作者Balanjaneyulu K
相关产品推荐
相关产品推荐

