是否有一种简单(ish)的方法可以用空格替换字符数组中的所有非字母字符,例如您可能使用下面的bash命令?
sed's / [^ a-zA-Z] / / g'
我唯一能想到的就是遍历char数组&比较&逐个字符替换。我不知道是否有一个可以做同样的C函数。
答案 0 :(得分:3)
据我所知,无论如何,没有办法比O(n)更好。即使有这样的功能甚至是正则表达式引擎,它也可能比简单的线性复杂性解决方案效率低。你可以循环遍历数组,任何小于'A'或大于'z'的东西都会设置为''。
while(*array)
{
if(!isalpha(*array))
*array = ' ';
array++;
}