C++ 中用于删除禁用字符的函数

c++server side programmingprogramming

讨论如何从字符串中删除禁用字符,例如 [ ‘ : ’, ‘ ? ‘, ‘ \ ’, ‘ / ’, ‘ < ’, ‘ > ’, ‘ | ’, ‘ * ’ ]

输入:str = “ Hello: Welco*me/ to Tu>torials point|. ”
输出:“ Hello Welcome to Tutorials point. ”
说明:输入字符串包含已删除的禁用字符,新字符串没有禁用字符。

输入:str = “ How/are you doi,ng? ”
输出:"How are you doing"

寻找解决方案的方法

可以应用于此问题的一种简单方法是,

  • 从任意一侧遍历字符串。

  • 检查每个字符是否属于禁用字符。

  • 如果字符属于禁用字符,则将其删除。

  • 在删除字符时,我们可以插入一个空值或一个新字符串来插入除禁用字符之外的所有字符。

示例

上述方法的 C++ 代码

#include <stdio.h>
#include <bits/stdc++.h>
using namespace std;
// 删除禁用字符的函数。
void removeforbidden(char* str){
    int j = 0;
    int 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';
            default:
            str[j++] = str[i];

        }
    }  
    // 打印字符串。
    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;
}

输出

Hello, Welcome to Tutorials point.

上述代码的解释

  • 在遍历字符串时使用 Switch case,其中使用大小写字符检查字符串的每个元素。

  • 如果字符等于大小写字符,则将其替换为空字符。

结论

在本教程中,我们讨论了创建一个用于删除禁用字符的函数,例如 [ ‘ : ’、‘ ? ‘、‘ \ ’、‘ / ’、‘ < ’、‘ > ’、‘ | ’、‘ * ’ ] 我们讨论了一种解决这个问题的简单方法,即遍历字符串并将字符与禁用字符进行匹配。

我们还讨论了这个问题的 C++ 程序,我们可以使用 C、Java、Python 等编程语言来完成。我们希望本教程对您有所帮助。


相关文章