常見字串問題總結(三)

2021-06-19 05:29:44 字數 1365 閱讀 2970

常見字串問題總結(三)

字串問題中經常會有刪除某一字串的某乙個字元,可以是不同方式的刪除,比如將指定的字元刪除,刪除字元中的空格(包括字串的頭和尾)。本文就列舉了部分有關字串刪除的問題。

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 及其右邊所有的字串。...