星号问题
例:字符串s“********AB***CD********”
1.删除全部*
int i,j;
if(s[i]!='*')
s[j++]=s[i];
s[j]=0;
puts(s);
2.删除前导*
(1)寻找第一个非*下标
(2)覆盖
(3)适当位置添加结束符
int i=0,j=0;
while(s[i]=='*')
i++;
while(s[i])
s[j++]=s[i++];
s[j]=0;
puts(s);
3.删除后导*
(1)寻找最后的*下标
(2)倒序遍历
(3)补结束符
int i;
i=strlen(s)-1;
while(s[i]=='*')
i--;
s[i+1]=0;
puts(s);
4.使前导*不多于n个,否则不处理
(1)计算前导*个数
(2)对比n,判断是否处理
(3)若小于等于n,不处理,结束;若大于n,处理
int i=0,j=0;
whlie(s[i]==*)
i++;
if(i>n){
i=i-n;
while(s[i])
s[j++]=s[i++];
s[j]=0;
}
puts(s);
5.使后导*不多于n个
(1)计算后导*的个数
(2)对比n,判断是否处理
(3)若小于等于n,不处理,结束;若大于n,处理
int i,j=0;
i=strlen(s)-1;
while(s[i]=="*")
j++;
if(j>n)
s[i+n+1]=0;
字符串星号处理技巧
本文介绍了一种针对字符串中星号(*)的处理方法,包括完全移除星号、去除前后导星号、限制前后导星号数量等实用技巧。通过简单的C语言代码示例,帮助读者理解每种操作的具体实现。
643

被折叠的 条评论
为什么被折叠?



