第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何計算字符串中出現(xiàn)的字符串(實際上是字符)?

如何計算字符串中出現(xiàn)的字符串(實際上是字符)?

C#
九州編程 2019-06-11 21:01:27
我正在做一件事,我意識到我想數(shù)一數(shù)/我可以從一根繩子里找到,然后突然想到,有幾種方法可以做到,但我無法決定什么是最好的(或最簡單的)。現(xiàn)在我要說的是:string source = "/once/upon/a/time/";int count = source.Length - source.Replace("/", "").Length;但我一點也不喜歡,有人嗎?我真的不想挖出來RegEx為了這個,是嗎?我知道我的弦會有我要找的術(shù)語,所以你可以假設(shè).當(dāng)然是弦樂哪里 長度>1,string haystack = "/once/upon/a/time";string needle = "/";int needleCount = ( haystack.Length - haystack.Replace(needle,""). Length ) / needle.Length;如何計算字符串中出現(xiàn)的字符串(實際上是字符)?
查看完整描述

3 回答

?
倚天杖

TA貢獻1828條經(jīng)驗 獲得超3個贊

如果您使用的是.NET 3.5,您可以使用LINQ在一個一行程序中這樣做:

int count = source.Count(f => f == '/');

如果不想使用LINQ,可以使用:

int count = source.Split('/').Length - 1;

你可能會驚訝地發(fā)現(xiàn),你的原始技術(shù)似乎比這兩種技術(shù)都快了30%!我剛剛完成了“/一次性/on/a/time/”的快速基準測試,結(jié)果如下:

你原來的=12S
來源:Count=19s
來源:Split=17s
前程(從Bobwienholt的回答)=10S

(時間是5000萬次迭代,所以你不太可能注意到現(xiàn)實世界中的差異。)


查看完整回答
反對 回復(fù) 2019-06-11
?
慕仙森

TA貢獻1827條經(jīng)驗 獲得超8個贊

int count = new Regex(Regex.Escape(needle)).Matches(haystack).Count;


查看完整回答
反對 回復(fù) 2019-06-11
  • 3 回答
  • 0 關(guān)注
  • 460 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號