对于特殊字符串的处理方法

对于特殊的字符串,我们对字符串进行特殊与非特殊两种,第一种字符串开头特殊字符提到末尾处理方法或者末尾字符串提到开头,总之先处理特殊的就OK了

开头提到末尾处理:

#include "stdio.h"
#include"stdlib.h"
#include "conio.h"
void fun(char*a)
{
int i=0,j=0;
char *p=a;
while(*p&&*p==‘*‘) //单独处理字符串前的*字符,并保存到a指针里去
{    a[i++]=*p;
p++;
}
while(*p)
{
a[j++]=*p;
p++;
a[i++]=a[j]; //开始衔接
}

a[i]=‘\0‘; // 加上结束标志
}
main()
{
char s[80];
printf("printf the string :\n");
gets(s);
fun(s);
printf("The string after deleted %c :\n");
puts(s);
}

结果截图:

末尾提到开头处理: 通过一个for循环直接指向字符串的最后一个字符\0,再减1指向最后一个了非空字符

/* Note:Your choice is C IDE */
#include "stdio.h"
#include "conio.h"
void fun(char *a)

char *p;

*p=a;

int i=0,j=0;
{ while(*a!=‘\0‘)
a++;
a--;
//直接指向字符串末尾
while(*a==‘*‘)
{

a[i++];  //把末尾的*保存在a[i],a[j]保存删除后的字符串,最后衔接起来

a[j--];

}

while(a[i]!=‘\0‘)

a[j++]=a[j]

// 长度加1加结束符
a[j]=‘\0‘;
}

void main()
{char s[100];
printf("Enter the string :\n");
gets(s);
fun(s);
printf("The string after deleted :\n");
puts(s);

}

处理开头字符与结尾字符串:方法是在主函数中找出特殊字符结束的位置,通过形式参数返回自定义函数从不是要删除的字符串开始保存在新的指针里,返回值

/* Note:Your choice is C IDE */
#include "stdio.h"
#include "conio.h"
void fun (char *a,int n,int h,int e)
{
int i,j=0;
for(i=h;i<n-e;i++)
a[j++]=a[i];
a[j]=‘\0‘;
}
void main()
{ char s[81],*t,*f;
int m=0,tn=0,fn=0;
printf("Enter a string:\n ");
gets(s);
t=f=s;
while(*t)
{
t++;
m++;
}
t--; //指向最后一个字符
while(*t==‘*‘)
{
t--;
tn++; //统计末尾字符*的个数
}
while(*f==‘*‘)
{
f++;
fn++;
}  //统计开头字符*的个数
fun(s,m,fn,tn);
printf("The string after deleted :\n");
puts(s);
}
时间: 2024-10-11 20:12:18

对于特殊字符串的处理方法的相关文章

7.python字符串-内置方法分析

上篇对python中的字符串进行了列举和简单说明,但这些方法太多,逐一背下效率实在太低,下面我来对这些方法安装其功能进行总结: 1.字母大小写相关(中文无效) 1.1 S.upper() -> string 返回一个字母全部大写的副本 1.2 S.lower() -> string 返回一个字母全是小写的副本 1.3 S.swapcase() -> string 返回一个字母大小写转换后的副本 1.4 S.title() -> string 将单词的首字母大写,即为所谓的标题 方框

JS总结之一:字符串的调用方法

字符串的调用方法:var s="hello, world";document.write(s.charAt(0)); //第一个字符document.write(s.charAt(s.length-1)); //最后一个字符document.write(s.substring(1,4)); //第2~4个字符document.write(s.slice(-3)); //最后3个字符document.write(s.indexOf("l")); //字符l首次出现的位

Oracle字符串连接的方法

Oracle数据库中,使用“||”进行字符串连接,下面就让我们一起了解一下Oracle数据库中字符串连接的方法,希望对您能有所帮助. 和其他数据库系统类似,Oracle字符串连接使用“||”进行字符串拼接,其使用方式和MSSQLServer中的加号“+”一样. 比如执行下面的SQL语句:SELECT '工号为'||FNumber||'的员工姓名为'||FName FROM T_EmployeeWHERE FName IS NOT NULL 除了“||”,Oracle还支持使用CONCAT()函数

深入.Net字符串类型 Join方法

.Net的字符串其实还是有很多东西可以写的.但是最近在学习SQL Server,只好先做下最近学习到的一些巧用,妙用之类的东西. 巧用String.Join拼接字串数组,字符串集合为字符串.如果在之前,一个foreach早就敲上去了.虽然效率差多,但是少了个foreach,还是美观不少的. class Program { static void Main(string[] args) { List<string> listStr = new List<string>(); list

Python 字符串分割的方法

在平时工作的时候,发现对于字符串分割的方法用的比较多,下面对分割字符串方法进行总结一下:第一种:split()函数split()函数应该说是分割字符串使用最多的函数用法:str.split('分割符')通过该分割操作后,会返回一个列表. 注:当然如果你的字符串含有一个或者多个空格就直接 str.split() 就可以了 例如: >>> a = "hello,python,Good Night" >>> a.split(',') ['hello', '

【转】三种常用的字符串判空串方法

1. 三种常用的字符串判空串方法:Length法:bool isEmpty = (str.Length == 0);Empty法:bool isEmpty = (str == String.Empty);General法:bool isEmpty = (str == ""); 2. 深入内部机制:要探讨这三种方法的内部机制,我们得首先看看.NET是怎样实现的,也就是要看看.NET的源代码!然而,我们哪里找这些源代码呢?我们同样有三种方法:Rotor法:一个不错的选择就是微软的Rotor

ASP.NET C# 去掉字符串中间空格方法

 string strName = "大     张     伟";             string str = Regex.Replace(strName, @"\s", "");             Response.Write("输出内容:" + str); ASP.NET C# 去掉字符串中间空格方法,布布扣,bubuko.com

sqlserver字符串拆分(split)方法汇总

--方法0:动态SQL法 declare @s varchar(100),@sql varchar(1000) set @s='1,2,3,4,5,6,7,8,9,10' set @sql='select col='''+ replace(@s,',',''' union all select ''')+'''' PRINT @sql exec (@sql) --方法1:循环截取法 if exists (select * from dbo.sysobjects where id = object

java中常用的字符串的截取方法

java中常用的字符串的截取方法   1.length() 字符串的长度 例:char chars[]={'a','b'.'c'}; String s=new String(chars); int len=s.length(); 2.charAt() 截取一个字符 例:char ch; ch="abc".charAt(1); 返回'b' 3.getChars() 截取多个字符 void getChars(int sourceStart,int sourceEnd,char target

截取指定长度字节数后的字符串(Java方法实例,注:同样思路js也适用)

可能之前是习惯了上网查看其他人的资料,当我遇到这样的问题的时候,我第一时间想到的就是上网查个现成的方法直接用:可是查阅网上各大论坛以及其他资料之后,发现大部分人都是照搬其他人的,这种情况很严重,而且个人感觉很不利于个人技术的成长:当然更重要的原因是,我感觉网上的大部分方法都把问题给复杂化了,无论是用js方法截取还是通过封装Java类,都感觉繁琐了些:为此我自己写了个相对来说较为简单的方法,其实很简单的思路和方法就能实现,下面奉上我自己的方法,希望大家多多指正不足之处(支持全角输入的字符和汉字等,