常見字串問題總結(三)
字串問題中經常會有刪除某一字串的某乙個字元,可以是不同方式的刪除,比如將指定的字元刪除,刪除字元中的空格(包括字串的頭和尾)。本文就列舉了部分有關字串刪除的問題。
1. 刪除字串中的空格,要求將字串前面和後面的所有空格都刪除,對字串中間,如果出現多個連續的空格,只保留乙個空格。
#include #include using namespace std;
/*刪除乙個字串中的空格,包括前面的和後面的;如果中間字元間的空格大於1個則刪除其它的空格,只保留乙個空格 */
#define maxsize 100//字串陣列的大小
void delspace(char *str)
}if(str[j-1] == ' ')
str[j-1] = '\0';
else
str[j] = '\0';
//strcpy(str, result);
free(temp);
}int main()
int max =0;
char ch = '\0';
for(int i =0; i< 256; i++)
}cout<3. 輸入若干個字串,按字典順序對其排序,並輸出。
一種情況是字串只有大寫或者小寫字元,這是可以用strcmp進行比較。而strcmp的實現已經在前面的博文中說過了。
#include #include using namespace std;
/*輸入五個字串,按字典順序對他們進行輸出*/
int main()}}
for(int i =0; i< 5; i++)
cout《另一種情況是字串中摻雜著大小寫字元,這是可以用庫函式中的strcasecmp()進行比較,本文中實現了strcasecmp()函式。
#include #include using namespace std;
/*輸入五個字串,按字典順序對他們進行輸出*/
char mytolower(char ch)
int mystrcasecmp(char* src, char *dest)
while((*src == *dest)&&*src != '\0'&& *dest!='\0')
if(mytolower(*src) == mytolower(*dest))
return 0;
else if(mytolower(*src) > mytolower(*dest))
return 1;
else
return -1;
}int main()}}
for(int i =0; i< 5; i++)
cout<
java常見字串方法總結
說到這裡的方法總結,其實也不是自己寫的啦,就是通過學習和工作中,總結了一些常用的方法,拿出來與大家分享。我不生產方法,我只是方法的搬運工。有什麼不足,請同行們多多指教,共同進步 1.string類字元與字串操作方法 方法名稱 型別 描述 public char charat int index 普通...
常見字串試題集合總結
4 求所有碎片的平均長度 5 用於匹配模式串的kmp knuth morris pratt 演算法 5 滑動視窗 不論是左旋轉還是右旋轉,即把前面的子串往後放還是後面的子串往前放,最簡潔的方法都是先把原始串複製乙份並拼接起來,然後按需擷取。本題鏈結在此,如下,可以將前面那個字元放到末尾 public...
常見字串操作方式總結
1 獲取字串長度 2 獲取尾部字串 非貪婪匹配刪除的部分,從字串左邊開始,刪除掉第乙個出現的 b 及其左邊所有的字串。貪婪匹配刪除的部分,從字串左邊開始,刪除掉最後乙個出現的 b 以及左邊所有的字串。3 獲取頭部字串 非貪婪匹配刪除的部分,從字串右邊開始,刪除掉第乙個出現的 b 及其右邊所有的字串。...