Computer >> Máy Tính >  >> Lập trình >> C ++

Chức năng để loại bỏ các ký tự bị cấm trong C ++

Thảo luận về cách loại bỏ các hàm sẽ loại bỏ các ký tự bị cấm như [‘:’, ‘? ‘,‘ \ ’,‘ / ’,‘ <’,‘> ’,‘ | ’,‘ * ’] Từ một chuỗi chẳng hạn

Input: str = “ Hello: Welco*me/ to Tu>torials point|. ”
Output: “ Hello Welcome to Tutorials point. ”
Explanation: Input String contains forbidden characters which got removed and new string has no forbidden characters.

Input: str = “ How/ are y*ou doi,ng? ”
Output: “ How are you doing ”

Phương pháp tiếp cận để tìm giải pháp

Một cách tiếp cận đơn giản có thể áp dụng cho vấn đề này là,

  • Di chuyển chuỗi từ bất kỳ phía nào.

  • Kiểm tra từng ký tự nếu nó thuộc các ký tự bị cấm.

  • Xóa ký tự nếu nó thuộc các ký tự bị cấm.

  • Chúng tôi có thể chèn một giá trị null hoặc một chuỗi mới để chèn tất cả các ký tự ngoại trừ việc bị cấm xóa các ký tự.

Ví dụ

Mã C ++ cho phương pháp tiếp cận trên

#include <stdio.h>
#include <bits/stdc++.h>
using namespace std;
// function to remove forbidden charcters.
void removeforbidden(char* str){
    int j = 0;
    int n =  strlen(str);
    // traversing through the string and searching for forbidden characters.
    for(int i = 0;i<n;i++){
        switch(str[i]){
            case '/':
            case '\\':
            case ':':
            case '?':
            case '"':
            case '<':
            case '>':
            case '|':
            case '*':
            // inserting null value in place of forbidden characters.
            str[j] = '\0';
            default:
            str[j++] = str[i];

        }
    }  
    // printing the string.
    for(int i = 0;i<n;i++)
        cout << str[i];
    return;
}
int main(){
    char str[] = "Hello: Welco*me/ to Tu>torial?s point|.";
    removeforbidden(str);
    return 0;
}

Đầu ra

Hello, Welcome to Tutorials point.

Giải thích về Quy tắc trên

  • Chuyển đổi chữ hoa thường được sử dụng trong khi duyệt qua chuỗi trong đó mỗi phần tử của một chuỗi được kiểm tra bằng các ký tự chữ hoa.

  • Nếu một ký tự bằng ký tự hoa, thì nó được thay thế bằng ký tự rỗng.

Kết luận

Trong hướng dẫn này, chúng ta đã thảo luận về việc tạo một Hàm để xóa các ký tự bị cấm như [‘:’, ‘? ‘,‘ \ ’,‘ / ’,‘ <’,‘> ’,‘ | ’,‘ * ’] Chúng tôi đã thảo luận về một phương pháp đơn giản để giải quyết vấn đề này bằng cách duyệt qua chuỗi và so khớp các ký tự với các ký tự bị cấm.

Chúng tôi cũng đã thảo luận về chương trình C ++ cho vấn đề này mà chúng tôi có thể làm với các ngôn ngữ lập trình như C, Java, Python, v.v. Chúng tôi hy vọng bạn thấy hướng dẫn này hữu ích.