首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从C中的字符串中删除标点符号

要从C语言中的字符串中删除标点符号,可以使用以下方法:

  1. 遍历字符串中的每个字符。
  2. 检查每个字符是否为标点符号。
  3. 如果不是标点符号,则将其添加到新字符串中。
  4. 最后,将新字符串复制回原始字符串。

以下是一个示例代码:

代码语言:c
复制
#include<stdio.h>
#include<string.h>
#include <ctype.h>

int is_punctuation(char c) {
    return ispunct((unsigned char)c);
}

void remove_punctuation(char *str) {
    int i, j = 0;
    for (i = 0; str[i]; i++) {
        if (!is_punctuation(str[i])) {
            str[j++] = str[i];
        }
    }
    str[j] = '\0';
}

int main() {
    char str[] = "Hello, World!";
    printf("Original string: %s\n", str);
    remove_punctuation(str);
    printf("String without punctuation: %s\n", str);
    return 0;
}

这个代码定义了一个is_punctuation函数,用于检查字符是否为标点符号。remove_punctuation函数遍历字符串中的每个字符,如果字符不是标点符号,则将其添加到新字符串中。最后,将新字符串复制回原始字符串。

在这个示例中,我们使用了ispunct函数来检查字符是否为标点符号。ispunct函数是C语言标准库中的函数,用于检查字符是否为标点符号。

这个示例中的输出应该是:

代码语言:txt
复制
Original string: Hello, World!
String without punctuation: HelloWorld

这个方法可以用于任何C语言字符串,包括字符数组和动态分配的字符串。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券