<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    從制造到創(chuàng)造
    軟件工程師成長之路
    posts - 292,  comments - 96,  trackbacks - 0
    字符串替換

    ??1?
    ??2?#include?<iostream.h>
    ??3?#include?<string.h>
    ??4?
    ??5?//////////////////////////////////////////////////////////////
    ??6?//????????????????????????????????????????????????????????????//
    ??7?//?函數(shù)名:????????????????????????????????????????????????????//
    ??8?//????????????????????????????????????????????????????????????//
    ??9?//????????SearchSubString????????????????????????????????????????//
    ?10?//????????????????????????????????????????????????????????????//
    ?11?//?函數(shù)功能:????????????????????????????????????????????????//
    ?12?//????????????????????????????????????????????????????????????//
    ?13?//????????在源字符串中查找子字符串????????????????????????????//
    ?14?//????????????????????????????????????????????????????????????//
    ?15?//?入口參數(shù):????????????????????????????????????????????????//
    ?16?//????????????????????????????????????????????????????????????//
    ?17?//????????strSrc:?源字符串????????????????????????????????????//
    ?18?//????????strSearch:?子字符串????????????????????????????????????//
    ?19?//????????????????????????????????????????????????????????????//
    ?20?//?返回值:????????????????????????????????????????????????????//
    ?21?//????????????????????????????????????????????????????????????//
    ?22?//????????-1:在源字符串沒有找到子字符串????????????????????????//
    ?23?//????????非-1:子字符串在源字符串中的起始序號????????????????????//
    ?24?//????????????????????????????????????????????????????????????//
    ?25?//////////////////////////////////////////////////////////////
    ?26?
    ?27?int?SearchSubString(?char?strSrc[],?char?strSearch[]?)
    ?28?{
    ?29?????int?nSearchIndex?=?-1;????????//?返回值序號
    ?30?
    ?31?????int?nIndex?=?0;????????????????//?當前序號
    ?32?????while?(?strSrc[nIndex]?!=?'\0'?)
    ?33?????{
    ?34?????????if?(?strSrc[nIndex]?==?strSearch[0]?)????//?當?shù)谝粋€字符相同時
    ?35?????????{
    ?36?????????????//?判斷后面的字符是否都相同
    ?37?????????????for?(?unsigned?int?nPos?=?1;?nPos?<?strlen(?strSearch?);?nPos++?)
    ?38?????????????{
    ?39?????????????????if?(?strSrc[nIndex?+?nPos]?!=?strSearch[nPos]?)
    ?40?????????????????{
    ?41?????????????????????break;
    ?42?????????????????}
    ?43?????????????}
    ?44?
    ?45?????????????if?(?nPos?==?strlen(?strSearch?)?)????????//?如果找到子字符串
    ?46?????????????{
    ?47?????????????????nSearchIndex?=?nIndex;
    ?48?
    ?49?????????????????break;
    ?50?????????????}
    ?51?????????????else????????//?第一個字符串后的字符串不相同,源字符串的查找位置下移
    ?52?????????????{
    ?53?????????????????nIndex++;
    ?54?????????????}
    ?55?????????}
    ?56?????????else????????//?當?shù)谝粋€字符不相同時,源字符串的查找位置下移
    ?57?????????{
    ?58?????????????nIndex++;
    ?59?????????}
    ?60?????}
    ?61?
    ?62?????return?nSearchIndex;
    ?63?}
    ?64?
    ?65?//////////////////////////////////////////////////////////////
    ?66?//????????????????????????????????????????????????????????????//
    ?67?//?函數(shù)名:????????????????????????????????????????????????????//
    ?68?//????????????????????????????????????????????????????????????//
    ?69?//????????ReplaceString????????????????????????????????????????//
    ?70?//????????????????????????????????????????????????????????????//
    ?71?//?函數(shù)功能:????????????????????????????????????????????????//
    ?72?//????????????????????????????????????????????????????????????//
    ?73?//????????在源字符串中替換字符串????????????????????????????????//
    ?74?//????????????????????????????????????????????????????????????//
    ?75?//?入口參數(shù):????????????????????????????????????????????????//
    ?76?//????????????????????????????????????????????????????????????//
    ?77?//????????strSrc:?源字符串????????????????????????????????????//
    ?78?//????????strSearch:?被替換的字符串????????????????????????????//
    ?79?//????????strReplace:替換的字符串????????????????????????????????//
    ?80?//????????????????????????????????????????????????????????????//
    ?81?//?返回值:????????????????????????????????????????????????????//
    ?82?//????????????????????????????????????????????????????????????//
    ?83?//????????無返回值????????????????????????????????????????????//
    ?84?//????????????????????????????????????????????????????????????//
    ?85?//?說明:????????????????????????????????????????????????????//
    ?86?//????????????????????????????????????????????????????????????//
    ?87?//????????源字符串是以被替換的字符串開始的字符串????????????????//
    ?88?//????????????????????????????????????????????????????????????//
    ?89?//////////////////////////////////////////////////////////////
    ?90?
    ?91?void?ReplaceString(?char?strSrc[],?char?strSearch[],?char?strReplace[]?)
    ?92?{
    ?93?????int?nSearchLen?=?strlen(?strSearch?);????//?被替換的字符串的長度
    ?94?????int?nReplaceLen?=?strlen(?strReplace?);????//?替換的字符串的長度
    ?95?
    ?96?????if?(?nSearchLen?<?nReplaceLen?)????????????//?查找字符串比替換字符串短
    ?97?????{
    ?98?????????//?移動字符串
    ?99?????????for?(?unsigned?int?nIndex?=?strlen(?strSrc?);?nIndex?>=?nSearchLen;?nIndex--?)
    100?????????{
    101?????????????strSrc[nIndex?+?nReplaceLen?-?nSearchLen]?=?strSrc[nIndex];
    102?????????}
    103?????}
    104?????else????????????????????????????????????//?查找字符串比替換字符串長
    105?????{
    106?????????//?移動字符串
    107?????????int?nIndex?=?nSearchLen;
    108?????????while?(?strSrc[nIndex]?!=?'\0'?)
    109?????????{
    110?????????????strSrc[nIndex?-?nSearchLen?+?nReplaceLen]?=?strSrc[nIndex];
    111?
    112?????????????nIndex++;
    113?????????}
    114?????????strSrc[nIndex?-?nSearchLen?+?nReplaceLen]?=?'\0';
    115?????}
    116?
    117?????//?替換字符串
    118?????for?(?int?nIndex?=?0;?nIndex?<?nReplaceLen;?nIndex++?)
    119?????{
    120?????????strSrc[nIndex]?=?strReplace[nIndex];
    121?????}
    122?
    123?????return;
    124?}
    125?
    126?//////////////////////////////////////////////////////////////
    127?//????????????????????????????????????????????????????????????//
    128?//?函數(shù)名:????????????????????????????????????????????????????//
    129?//????????????????????????????????????????????????????????????//
    130?//????????ReplaceSubString????????????????????????????????????//
    131?//????????????????????????????????????????????????????????????//
    132?//?函數(shù)功能:????????????????????????????????????????????????//
    133?//????????????????????????????????????????????????????????????//
    134?//????????在源字符串中替換字符串????????????????????????????????//
    135?//????????????????????????????????????????????????????????????//
    136?//?入口參數(shù):????????????????????????????????????????????????//
    137?//????????????????????????????????????????????????????????????//
    138?//????????strSrc:?源字符串????????????????????????????????????//
    139?//????????strSearch:?被替換的字符串????????????????????????????//
    140?//????????strReplace:替換的字符串????????????????????????????????//
    141?//????????????????????????????????????????????????????????????//
    142?//?返回值:????????????????????????????????????????????????????//
    143?//????????????????????????????????????????????????????????????//
    144?//????????無返回值????????????????????????????????????????????//
    145?//????????????????????????????????????????????????????????????//
    146?//////////////////////////////////////////////////////////////
    147?
    148?void?ReplaceSubString(?char?strSrc[],?char?strSearch[],?char?strReplace[]?)
    149?{
    150?????int?nIndex?=?0;????????????????//?開始查找的位置
    151?????int?nSearchIndex?=?0;????????//?在當前字符串中被替換的字符串的位置
    152?
    153?????while?(?(?nSearchIndex?=?SearchSubString(?strSrc?+?nIndex,?strSearch?)?)?!=?-1?)
    154?????{
    155?????????ReplaceString(?strSrc?+?nIndex?+?nSearchIndex,?strSearch,?strReplace?);
    156?
    157?????????nIndex?+=?nSearchIndex?+?strlen(?strReplace?);
    158?????}
    159?
    160?????return;
    161?}
    162?
    163?void?main()
    164?{
    165?????char?strArr[128]?=?"abcdeGHbcdejHKbcdeOOO";
    166?????char?strSearch[]?=?"bcde";
    167?????char?strReplace[]?=?"1111111";
    168?
    169?????ReplaceSubString(?strArr,?strSearch,?strReplace?);
    170?
    171?????cout?<<?strArr?<<?endl;
    172?
    173?????return;
    174?}

    posted on 2006-09-08 19:29 CoderDream 閱讀(668) 評論(0)  編輯  收藏 所屬分類: 算法

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
    相關(guān)文章:
     

    <2006年9月>
    272829303112
    3456789
    10111213141516
    17181920212223
    24252627282930
    1234567

    常用鏈接

    留言簿(9)

    我參與的團隊

    隨筆分類(245)

    隨筆檔案(239)

    文章分類(3)

    文章檔案(3)

    收藏夾(576)

    友情鏈接

    搜索

    •  

    積分與排名

    • 積分 - 459735
    • 排名 - 114

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产黄色免费观看| 免费国产黄线在线观看| 手机看黄av免费网址| 亚洲成人影院在线观看| 亚洲国产福利精品一区二区| 亚洲免费日韩无码系列| 亚洲色自偷自拍另类小说| 亚洲日韩一区二区一无码| 欧洲一级毛片免费| 亚洲精品狼友在线播放| 日韩精品无码永久免费网站| 女人18毛片a级毛片免费视频| 在线看片无码永久免费视频| 免费国产高清视频| 中文日韩亚洲欧美制服| 亚洲一级毛片免费观看| 香港经典a毛片免费观看看| 日本中文一区二区三区亚洲| 国产亚洲Av综合人人澡精品| 日本高清免费aaaaa大片视频| 亚洲色婷婷一区二区三区| 91黑丝国产线观看免费| 亚洲乱码日产精品BD在线观看| 最近免费中文字幕大全免费| 日韩在线免费看网站| 东方aⅴ免费观看久久av| 丝袜熟女国偷自产中文字幕亚洲| 亚洲六月丁香六月婷婷色伊人 | 亚洲国产视频网站| 18国产精品白浆在线观看免费| 亚洲熟妇av一区| 亚色九九九全国免费视频| 四虎永久在线精品免费一区二区| 国产成人AV片无码免费| 亚洲avav天堂av在线不卡| 青青青亚洲精品国产| JLZZJLZZ亚洲乱熟无码| 十八禁无码免费网站| 亚洲午夜精品国产电影在线观看| 免费大片黄在线观看yw| 国产精品免费福利久久|