文章出處
文章列表
1、統計某種字符串中某個字符或某個字符串出現的次數,以及每次出現的索引位置
有如下字符串:【"患者:“大夫,我咳嗽得很重。”
* 大夫:“你多大年記?” 患者:“七十五歲。”
* 大夫:“二十歲咳嗽嗎”患者:“不咳嗽。”
* 大夫:“四十歲時咳嗽嗎?” 患者:“也不咳嗽。”
* 大夫:“那現在不咳嗽,還要等到什么時咳嗽?”"】。
* 需求:請統計出該字符中“咳嗽”二字的出現次數,
* 以及每次“咳嗽”出現的索引位置。*/
static void GetCough(string str)
{
int n = 0;
int nStartIndex = 0;
while (true)
{
int index = str.IndexOf("咳嗽", nStartIndex);
if (-1 == index)
{
break;
}
else
{
n++;
nStartIndex = index + 2;
Console.WriteLine("第{0}次咳嗽出現的位置是{1}",n,index);
}
}
}
2、去掉空格,替換空格類型
一般調用string的Trim方法去掉字符串前面和后面兩邊的空格,去掉前面的空格用TrimStart,去掉后面的空格用TrimEnd。
將字符串中間的空格去掉可以先用Split將字符串分割成若干個子串,再用Join將這些子串連接成一個字符串。
/*20. 將字符串" hello world,你 好 世界 ! "兩端空格去掉,
* 并且將其中的所有其他空格都替換成一個空格,
* 輸出結果為:"hello world,你 好 世界 !"。 */
static void Main(string[] args)
{
string str = " hello world,你 好 世界 ! ";
Console.WriteLine("輸出結果: {0}", DealString(str));
Console.ReadKey();
}
static string DealString(string strSrc)
{
string strDesc = strSrc.Trim();
string[] strs = strDesc.Split(new char[] {' '},StringSplitOptions.RemoveEmptyEntries);
string strRes = string.Join(" ",strs);
return strRes;
}
//程序運行的過程中會產生無用的string,占據內存。
//static string DealString(string strSrc)
//{
// string strDesc = strSrc.Trim();
// for (int i = 0; i < strDesc.Length - 1;)
// { //遇到連續空格的話,就刪掉前面一個
// if (strDesc[i] == ' ' && strDesc[i+1] == ' ')
// {
// strDesc = strDesc.Remove(i, 1);
// }
// else
// {
// i++;
// }
// }
// return strDesc;
//}
3、將字符串反轉
先將字符串轉換為字符數組,然后將字符數組進行反轉,最后將字符數組轉換為字符串。
/*1:接收用戶輸入的字符串,將其中的字符以與輸入相反的順序輸出。"abc"→"cba"*/
string str = Console.ReadLine();
//直接這樣做是不能輸出反轉后的字符串的
//Console.WriteLine(str.Reverse());
//Reverse() 方法是用于操作數組的,所以我們可以先將字符串轉換為字符數組,然后將字符數組進行反轉
char[] chars = str.ToCharArray();
Array.Reverse(chars);
Console.WriteLine("{0}反轉后得到:{1}", str, new string(chars));
Console.WriteLine("調用自己寫的Reverse1方法:{0}", Reverse1(str));
Console.WriteLine("調用自己寫的Reverse2方法:{0}", Reverse2(str));
文章列表
全站熱搜
留言列表