
char DelStr(char str1, char str2)
{
int i,j;
int iLen1,iLen2;
int iFlag,iPos;
char s1[128+1],s2[128+1];
memset(s1,0x00,sizeof(s1));
memset(s2,0x00,sizeof(s2));
strcpy(s1,str1);
strcpy(s2,str2);
iLen1 = strlen(s1);
iLen2 = strlen(s2);
for(i = 0;i<=iLen1 - iLen2;i++)
{
iFlag = 0;
iPos = i;
for(j = 0; j< iLen2; j++,iPos++)
{
if(s1[iPos] != s2[j])
{
iFlag = 1;
break;
}
}
if(iFlag == 0)
{
memmove(s1+i,str1+i+iLen2,iLen1-iLen2);
s1[iLen1-iLen2] = 0;
iLen1 = strlen(s1);
}
}
return(s1);
}
#include <stdioh>
void fun(char p){
int i,j;
char q,z,m;
while(p!=0){
if(p>='0' && p<='9'){
z=p+1;
while(z!=0){
if(z>='0' && z<='9'){
}else{
p=z;
m=p;
z='1';
break;
}
z++;
}
}
p=p+1;
}
(m+1)=NULL;
}
int main() {
char a[1000];
gets(a);
fun(a);
printf("%s\n",a);
return 0;
}
trim是修剪、整理的意思。
各种 trim 函数的语法如下:
LTRIM(字串):将字串左边的空格移除。
RTRIM(字串): 将字串右边的空格移除。
TRIM(字串): 将字串首尾两端的空格移除,作用等于RTRIM和LTRIM两个函数共同的结果。
ALLTRIM(字串):将字串左右边两边的空格移除。
在EXCEL中,TRIM函数主要用于把单元格内容前后的空格去掉,但并不去除字符之间的空格。如果单元格中有从其他程序中获得带有不规则空格的文本是,可以使用TRIM函数。
1 如下图所示,在B1中录入TRIM(A1),可以看到,B1中还是A1单元格内容,只是前面空格去除了,但是中间的单元格依然在。向下拉,既可以把整个A列单元格中前后无用的单元格去掉了。如下图所示,BW在B1中录入TRIM(A1),可以看到,B1中还是A1单元格内容,只是前面空格去但是中间的单元格依然在。向下拉,既可以把整个A列单元格中前后无用的单元格去掉了。
2如果是想要去掉所有的空格,需要用substitute函数。如图所示:
3如果单元格里的数据或文本同时带无意义空格和空白行,那么也可以用公式:= Clean(trim()) 嵌套就可以直接删除了。
4TRIM函数作为辅助函数,还有另外一种用法,如图在A1中(A1常规状态)录入12位以上数字,A1就会以科学计数的方式显示出来,这不是我们想要的结果,我们想要B1所示的结果,这时, 我们在B1单元格输入公式:=TRIM(A1),回车,就可以看到全部显示出来了。
5当然,我们也可以更改单元格格式为:数字,或者自定义格式“0”,都可以显示,如图:
6下面,我们再来学习一下TRIM的另一种用法---和MID函数结合提取有用的信息,如图,在B1中需要提取A1单元格中的生产年限,我们可以在B1单元格中录入公式:TRIM(MID(A1,FIND("",A1),4)),就可以得到想要的结果。
//程序功能:编写一个函数delchar(s,c),该函数将字符串s中出现的所有c字符删除。
// 在主程序中输入一个字符c和一个字符串s,调用delchar(s,c)函数删除字符串s中
// 所有的c字符,然后输出删除后的字符串。
//例 如:输入字符a和字符串li wang zha jin xiao,输出:li wng zh jin xio。
//提 示:除在指定位置添加语句之外,请不要改动程序中的其他内容。
#include <stdioh>
#include <stringh>
void main( )
{
char c, str[80];
void delchar(char p,char c);
printf("Input a char: ");
scanf("%c",&c); //读入一个字符
printf("Input a strings: ");
scanf("%s",str);
//请在两条星线间填入代码, 调用delchar函数删除字符串str中所有c字符
//
delchar(str,c);
//
printf("The result is: %s \n", str);
}
void delchar(char p, char c)
{
int i, k;
char str[80], q;
q=str;
//请在两条星线间填入代码, 删除指针p指向的字符串中所有的c字符
//要求:利用指针方法来处理。
//
i=0;k=0;
while((p+i)!='\0'){
if((p+i)!=c){
(q+k)=(p+i);
k++;
}
i++;
}
(q+k)='\0';
strcpy(p,q);
//
}
运行结果
trim函数的作用是删除文本的字符。
trim()函数移除字符串两侧的空白字符或其他预定义字符。功能除去字符串开头和末尾的空格或其他字符。函数执行成功时返回删除了string字符串首部和尾部空格的字符串,发生错误时返回空字符串("")。
说明
TRIM函数设计用于清除文本中的7位ASCII空格字符(值32)。在Unicode字符集中,有一个称为不间断空格字符的额外空格字符,其十进制值为160。该字符通常在网页中用作HTML实体。
TRIM函数本身不删除此不间断空格字符。其他编程语言中也具有TRIM函数,如SQL中的TRIM函数是用来移除掉一个字串中的字头或字尾。最常见的用途是移除字首或字尾的空白。这个函数在不同的资料库中有不同的名称。
只要将对应位置设置为\0即可
方便起见,可以写一个宏
del_char_from_end(s,n) s[strlen(s)-n]=0这样就可以了 从字符串s尾部,删除n个字符 不过你要保证n比字符串长度要小 不然会越界
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)