Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Hàm xóa ký tự cấm trong chuỗi bằng C++


Xóa các ký tự cấm: ':', '?', '\', '/', '<', '>', '|', '*' khỏi chuỗi. Ví dụ:

Input: "Hello: Welco*me/ to Tu>torials point|." Output: "Hello Welcome to Tutorials point."

Cách tiếp cận

Duyệt chuỗi, dùng switch-case kiểm tra ký tự cấm. Nếu cấm → bỏ qua (ghi đè bằng ký tự tiếp theo), ngược lại giữ lại.

Ví dụ

#include <bits/stdc++.h>
using namespace std;

void removeforbidden(char* str) {
    int j = 0, n = strlen(str);
    for (int i = 0; i < n; i++) {
        switch (str[i]) {
            case '/': case '\\': case ':': case '?':
            case '"': case '<': case '>': case '|': case '*':
                str[j] = '\0'; break; // bỏ qua
            default:
                str[j++] = str[i];
        }
    }
    for (int i = 0; i < n; i++) cout << str[i];
}

int main() {
    char str[] = "Hello: Welco*me/ to Tu>torial?s point|.";
    removeforbidden(str);
    return 0;
}

Kết quả

Hello, Welcome to Tutorials point.

Kết luận

Xóa ký tự cấm khỏi chuỗi bằng switch-case duyệt một lần O(n). Code C++ mẫu.