c語言replace
㈠ c語言作業:用子函數replace()將用戶輸入的字元串中的所有字元b/B都替換為c/C,並返回總共替換字元的個數
#include<stdio.h>
intreplace(char*s,intb,intc)
{intn=0;
for(;*s;s++)
if(*s>='A'&&*s%32==b)
{*s+=(*s%32-b+c)%32-*s%32;
n++;
}
returnn;
}
intmain()
{charb,c='E',s[200];
intn;
gets(s);
scanf("%c%*c%c",&b,&c);
if(b>='A'&&b<='Z')b-='A';
elseb-='a';
if(c>='A'&&c<='Z')c-='A';
elsec-='a';
n=replace(s,b+1,c+1);
printf("%s
總共替換%d個
",s,n);
return0;
}
㈡ 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語言:字元替換。要求用函數replace將用戶輸入的字元串中的字元t(T)都替換為e(E),並返回替換字元的個數
改成這樣就行了
#include<stdio.h>
intreplace(chara[]);
intmain()
{
chara[20];
intn;
scanf("%s",a);
n=replace(a);
printf("%s替換字元的個數:%d ",a,n);
return0;
}
intreplace(chara[])
{
intn=0;
inti;
for(i=0;a[i]!='