首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C 語言字符串進階操作:刪除字符、去除首字符、字符串翻轉等實用函數

     編輯:關於C語言

常用字符串處理函數集

標準庫 string.h 未提供的實用操作,以下為手寫實現:

1. 刪除字符串中所有數字

void del_str_Num(char* str) {
    int i = 0, j = 0;
    while (str[i]) {
        if (str[i] < '0' || str[i] > '9')
            str[j++] = str[i];
        i++;
    }
    str[j] = '\0';
}

2. 刪除字符串首部指定字符(如空格)

char* ltrim(char *s, char c) {
    while (*s && *s == c) s++;
    return s;
}

3. 刪除字符串中所有指定字符

void del_str_c(char s[], int c) {
    int i, j;
    for (i = 0, j = 0; s[i]; i++)
        if (s[i] != c) s[j++] = s[i];
    s[j] = '\0';
}

4. 字符串左右翻轉(原地反轉)

char* strflip(char* str) {
    char *h = str, *t = str, ch;
    while (*t++) ; t -= 2; // 指向最後一個非 '\0' 字符
    while (h < t) {
        ch = *h; *h++ = *t; *t-- = ch;
    }
    return str;
}

測試主程序

int main() {
    char str[20] = "23.3hhlo965";
    del_str_c(str, '.');  // 刪除 '.'
    printf("%s\n", str);  // 233hhlo965
    del_str_Num(str);     // 刪除數字
    printf("%s\n", str);  // hhlo
    strflip(str);         // 翻轉
    printf("%s\n", str);  // olhh
    return 0;
}

運行結果

233hhlo965
hhlo
olhh

其餘函數(delstr_c, strdel_c)邏輯類似,僅實現方式不同。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved