題目:在給定的語句中,統計出指定字符串出現的次數。
例如:今天天氣好晴朗處處好風光,今天天氣好,今天天氣好今天好天氣,今天天天好天氣 。
請統計出"今天"出現的次數。
主要方法有:
class Program
{ //在給定的語句中,統計出指定字符串出現的次數。
//例如:今天天氣好晴朗處處好風光,今天天氣好,今天天氣好今天好天氣,今天天天好天氣 。
//請統計出"今天"出現的次數。
static void Main(string[] args)
{
#region 方法1:用Replace和Split
string strContent = "今天天氣好晴朗處處好風光,今天天氣好,今天天氣好今天好天氣,今天天天好天氣";
//字符串替換
string strNewContent = strContent.Replace("今天", "@");
//字符串分割
string[] count = strNewContent.Split('@');
//該字符串出現的次數就是分割的片段數減1。
int times = count.Length - 1;
Console.WriteLine("\"今天\"出現的次數爲{0}次", times);
Console.ReadKey();
#endregion
#region 方法2:用IndexOf
string strContent = "今天天氣好晴朗處處好風光,今天天氣好,今天天氣好今天好天氣,今天天天好天氣";
string keyWords = "今天";
int index = 0;//索引位置
int count = 0; //統計次數
while ((index = strContent.IndexOf(keyWords, index)) != -1)
{
count++;
index = index + keyWords.Length;
}
Console.WriteLine("\"今天\"出現的次數爲{0}次", count);
Console.ReadKey();
#endregion
#region 方法3:用正則表達式
string strContent = "今天天氣好晴朗處處好風光,今天天氣好,今天天氣好今天好天氣,今天天天好天氣";
string keyWords = "今天";
//正則表達式匹配模式
int count = (Regex.Matches(strContent, keyWords)).Count;
Console.WriteLine("\"今天\"出現的次數爲{0}次", count);
Console.ReadKey();
#endregion
#region 方法4:用Contains
string strContent = "今天天氣好晴朗處處好風光,今天天氣好,今天天氣好今天好天氣,今天天天好天氣";
//字符串替換
strContent = strContent.Replace("今天", "@");
int count = 0;
for (int i = 0; i < strContent.Length; i++)
{
if (strContent[i].Equals('@'))
{
count++;
}
}
Console.WriteLine("\"今天\"出現的次數爲{0}次", count);
Console.ReadKey();
#endregion
}
}