c语言 字符串替换函数替换函数主要有strtr(),str_repalce()这两个函数 。
首先针对strtr函数第一种方式:
我们看看下面的举例:
?php
echo strtr("I Love you","Lo","lO");
?
得到的结果是:
I lOve yOu
这个结果提醒我们:
1.strtr它是区分大小写的
2.strtr的替换是很特殊的,你注意看后面那个yOu,中间的O被替换的,这显然不是我们的本意 。
再举一个特殊例子,说明这个php的sttr函数的怪异
?php
echo strtr("I Love you","Love","");
?
结果是:
I Love you
什么也不会改变,所以strtr需要注意的是:
3.不能被替换为空,也就是末位那个参数不能是空字符串,当然空格是可以的 。
再次举例strtr函数的另一种情况:
?php
echo strtr("I Loves you","Love","lOvEA");
?
结果是:
I lOvEs yOu
注意看第三个参数的A,在结果中并没有出现 。
4.我不建议用strtr以少换多 。
ok,既然这个strtr函数挺麻烦为什么还要用呢?
原因是,它的速度很快 。据说,strtr 比 str_replace 快四倍 。
5.能用strtr函数的时候一定要用 。
第二种情况:
strtr(string,array)
6.strtr符合意愿的使用方法
?php
$table_change = array('you'='her sister');
echo strtr("I Love you",$table_change);
?
结果为:
I Love her sister
7.小技巧:你想到替换什么你就往数组加什么
比如:
?php
$table_change = array('you'='her sister');
$table_change= array('Love' = 'hate');
echo strtr("I Love you",$table_change);
?
结果是:
I hate her sister
再次提醒那个Love 写成love 是行不通的哦 。
字符串取代 。
语法: string str_replace(string needle, string str, string haystack);
返回值: 字符串
函数种类: 资料处理
内容说明
本函数将字符串 str 代入 haystack 字符串中,将所有的 needle 置换成 str 。
下例将 %body% 以 black 取代
?php
$bodytag = str_replace("%body%", "black", "body text=%body%");
echo $bodytag;
?
格式:
[@str_replace("要替换的旧内容", "要取代原内容的新字符", $被替换内容的变量名)]
[@str_replace(array('旧1','旧2','旧3'), array('新1','新2','新3'), $被替换内容的变量名)]
[@str_replace(array('旧1','旧2','旧3'), '新内容', $被替换内容的变量名)]
实例:
多对一替换:想把内容字段里所有的p/p标签清除掉,替换成空 [@str_replace(array('p','/p'), '', $Content)]
一对一替换:想把内容字段里所有的br标签换成p [@str_replace('br', 'p', $Content)]
多对多替换:想把内容字段里的br换成br /, 同时p换hr,把/p全清除 [@str_replace(array('br', 'p','/p'), array('br /','hr',''), $Content)]
c语言:如何将字符串中指定的字符替换为另一个指定字符/*功能:将str字符串中的oldstr字符串替换为newstr字符串
*参数:str:操作目标oldstr:被替换者newstr:替换者
*返回值:返回替换之后的字符串
*版本:V0.2
*/
char*strrpc(char*str,char*oldstr,char*newstr){
char bstr[strlen(str)];//转换缓冲区
memset(bstr,0,sizeof(bstr));
for(int i=0;ilt;strlen(str);i){
if(!strncmp(str i,oldstr,strlen(oldstr))){//查找目标字符串
strcat(bstr,newstr);
i =strlen(oldstr)-1;
}else{
strncat(bstr,str i,1);//保存一字节进缓冲区
}
}
strcpy(str,bstr);
return str;
}
扩展资料:
c_str函数的返回值是constchar*的,不能直接赋值给char*,所以就需要我们进行相应的操作转化,下面就是这一转化过程 。
c语言提供了两种字符串实现 , 其中较原始的一种只是字符串的c语言实现 。与C语言的其他部分一样 , 它在c的所有实现中可用,我们将这种实现提供的字符串对象,归为c-串,每个c-串char*类型的 。
标准头文件lt;cstringgt;包含操作c-串的函数库 。这些库函数表达了我们希望使用的几乎每种字符串操作 。
当调用库函数 , 客户程序提供的是string类型参数,而库函数内部实现用的是c-串,因此需要将string对象,转化为char*对象,而c_str()提供了这样一种方法,它返回const char*类型(可读不可改)的指向字符数组的指针 。例:
#includelt;iostreamgt;
//#includelt;cstringgt;
#includelt;stringgt;//使用头文件string,否则最后coutlt;lt;无法输出add_to
using namespace std;
int main()
{
string add_to="hello!";
const string add_on="baby";
const char*cfirst=add_to.c_str();
const char*csecond=add_on.c_str();
char*copy=new char[strlen(cfirst) strlen(csecond) 1];
strcpy(copy,cfirst);
strcat(copy,csecond);
add_to=copy;
coutlt;lt;"copy:"lt;lt;copylt;lt;endl;
delete[]copy;
coutlt;lt;"add_to:"lt;lt;add_tolt;lt;endl;
return 0;
}
例(1)
函数声明:const char*c_str();
c_str()函数返回一个指向正规C字符串的指针,内容与本string串相同.
这是为了与c语言兼容 , 在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string对象转换成c中的字符串样式 。
注意:一定要使用strcpy()函数等来操作方法c_str()返回的指针
比如:最好不要这样:
char*c;
string s="1234";
c=s.c_str();
//c最后指向的内容是垃圾,因为s对象被析构,其内容被处理(纠正:s对象的析构是在s的生命周期结束时,例如函数的返回)
参考资料:
百度百科——c_str
求C语言替换字符串中某个字符的函数1、C语言中没有提供字符串替换函数,网上能找到的类似函数也只是能替换一个 , 不能替换全部,工作中却常常要用到这个功能,故实现一个函数 。该函数所使用到的相关函数均是自己实现,没有调用库函数 。
2、函数代码如下:
/*descript:replace str,返回一个替换以后的字符串,用完之后要free()
success:return 1
error:return 0
BUG:"select * from tab where id=':a' and name =':aa'",this is not support,this function is just simple str_replace ,not support all SQL language
*/
char *replacestr(char *strbuf, char *sstr, char *dstr)
{char *p,*p1;
int len;
if ((strbuf == NULL)||(sstr == NULL)||(dstr == NULL))
return NULL;
p = strstr(strbuf, sstr);//返回字符串第一次出现的地址,否则返回NULL
if (p == NULL)/*not found*/
return NULL;
len = strlen(strbuf)strlen(dstr) - strlen(sstr);
p1 = malloc(len);
bzero(p1, len);
strncpy(p1, strbuf, p-strbuf);
strcat(p1, dstr);
p= strlen(sstr);
【c语言字符替换函数 c语言字符串替换you变we】strcat(p1, p);
return p1;
}
关于c语言字符替换函数和c语言字符串替换you变we的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 妈妈帮如何引流,妈妈帮如何引流粉丝团
- 商企营销组织如何策划,企业营销组织应具有什么样的特点
- 课堂直播工具有哪些类型,直播讲课工具
- java写场景代码 java常见场景设计题
- css颜色的彩虹色,css彩虹字体
- 厂房如何营销,厂房销售技巧
- 微信视频号怎么邦定公众号,视频号怎么绑定
- go语言标准库pdf下载 go语言最新版
- 新媒体运营如何包装自己,新媒体包装设计