返回列表 發帖

字串分割 (一)

本帖最後由 鄭繼威 於 2022-7-30 11:14 編輯

試將字串 "123.45.6789" 以 "." 作為分割的依據進行分割,並將分割結果存入一陣列。



推!法1
  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<sstream>
  4. using namespace std;

  5. int main(){
  6.         //變數型態 變數名字
  7.         string str="123.45.6789.111213";        //要讀的字串
  8.         str+=".";        //最後加上.
  9.         string res[50]; //陣列->存放分割後的字串
  10.         string tmp="";        //存放我要分割的字串->在後沒有遇到.之前東西都會放這裡
  11.         int index=0;
  12.        
  13.         //讀字串
  14.         for(int i=0;i<str.size();i++){
  15.                 if(str[i]=='.'){
  16.                         res[index]=tmp;        //把剛剛占存在tmp裡的東西放進res陣列裡
  17.                         tmp="";        //放進去後,要清空
  18.                         index++;
  19.                 }
  20.                 else{
  21.                         tmp+=str[i];        //123
  22.                 }
  23.         }
  24.         //讀陣列
  25.         for(int i=0;res[i]!="";i++){
  26.                 cout<<res[i]<<endl;
  27.         }
  28.        
  29.         system("pause");
  30.         return 0;
  31. }
複製代碼
法二
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     string str="123.45.6789";
  7.     string res[50];
  8.     string tmp="";
  9.     int j=0;
  10.     for(int i=0; i<str.length(); i++)
  11.     {
  12.         if(str[i]=='.')
  13.         {
  14.             res[j]=tmp;
  15.             tmp="";
  16.             j++;
  17.             continue;   //跳過當下的迴圈
  18.         }
  19.         tmp+=str[i];
  20.         //cout<<str[i]<<endl;
  21.     }
  22.     res[j]=tmp;
  23.     for(int i=0; res[i]!=""; i++)
  24.         cout<<res[i]<<endl;
  25.     system("pause");     
  26.     return 0;   
  27. }
複製代碼

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     string str="123.45.6789";
  7.     str+=".";
  8.     string res[50];
  9.     int index=0;
  10.     string tmp="";
  11.     for(int i=0; i<str.size(); i++)
  12.     {
  13.          if(str[i]=='.')
  14.          {
  15.              res[index]=tmp;
  16.              tmp="";
  17.              index++;
  18.          }else
  19.          {
  20.              tmp+=str[i];
  21.          }
  22.     }
  23.     for(int i=0; res[i]!=""; i++)
  24.         cout<<res[i]<<endl;
  25.     system("pause");
  26.     return 0;   
  27. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     string str="123.45.6789";
  7.     str+=".";
  8.     string res[50];
  9.     int index=0;
  10.     string tmp="";
  11.     for(int i=0; i<str.size(); i++)
  12.     {
  13.          if(str[i]=='.')
  14.          {
  15.              res[index]=tmp;
  16.              tmp="";
  17.              index++;
  18.          }else
  19.          {
  20.              tmp+=str[i];
  21.          }
  22.     }
  23.     for(int i=0; res[i]!=""; i++)
  24.     {
  25.         cout<<res[i]<<endl;
  26.     }
  27.     system("pause");           
  28.     return 0;   
  29. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     string str="123.45.6789";
  7.     string res[50];
  8.     string tmp="";
  9.     int j=0;
  10.     for(int i=0; i<str.length(); i++)
  11.     {
  12.         if(str[i]=='.')
  13.         {
  14.             res[j]=tmp;
  15.             tmp="";
  16.             j++;
  17.             continue;
  18.         }
  19.         tmp+=str[i];
  20.     }
  21.     res[j]=tmp;
  22.     for(int i=0; res[i]!=""; i++)
  23.         cout<<res[i]<<endl;
  24.     system("pause");     
  25.     return 0;   
  26. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     string str="12.345.678.9.10";
  7.     str+=".";
  8.     string res[50];
  9.     int index=0;
  10.     string tmp="";
  11.     for(int i=0;i<str.size(); i++)
  12.     {
  13.             if(str[i]=='.')
  14.             {
  15.                            res[index]=tmp;
  16.                            tmp="";
  17.                            index++;
  18.             }else
  19.             {
  20.                            tmp+=str[i];
  21.             }
  22.     }
  23.     for(int i=0; res[i]!=""; i++)
  24.     cout<<res[i]<<endl;
  25.     system("pause");
  26.     return 0;
  27. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     string str="123.45.6789.";
  7.     str+=".";
  8.     string res[50];
  9.     int index=0;
  10.     string tmp="";
  11.     for(int i=0;i<str.size();i++)
  12.     {
  13.          if(str[i]=='.')
  14.          {
  15.               res[index]=tmp;
  16.               tmp="";
  17.               index++;         
  18.          }else
  19.          {
  20.               tmp+=str[i];
  21.          }   
  22.     }
  23.        for(int i=0;res[i]!="";i++)
  24.            cout<<res[i]<<endl;     
  25.        system("pause");
  26.        return 0;
  27. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<sstream>
  4. using namespace std;
  5. int main()
  6. {
  7.     string str="234.2434.234234.234";
  8.     str+=".";
  9.     string fk[50];
  10.     string th="";
  11.     int ind=0;
  12.     for(int i=0;i<str.size();i++)
  13.     {
  14.         if(str[i]=='.')
  15.         {
  16.             fk[ind]=th;
  17.             th="";
  18.             ind++;           
  19.         }else
  20.         {
  21.             th+=str[i];
  22.         }     
  23.     }
  24.     for(int i=0;fk[i]!="";i++)
  25.     {
  26.        cout<<fk[i]<<endl;     
  27.     }
  28.     system("pause");
  29.         return 0;
  30. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<sstream>
  4. using namespace std;
  5. int main()
  6. {
  7. string str="123.45.6789.111213";
  8. str+=".";
  9. string res[50];
  10. string tmp="";
  11. int index=0;
  12. for(int i=0;i<str.size();i++)
  13. {
  14.     if(str[i]=='.')
  15.     {
  16.        res[index]=tmp;
  17.        tmp="";
  18.        index++;            
  19.     }else
  20.     {
  21.         tmp+=str[i] ;
  22.     }   
  23. }
  24.      for(int i=0;res[i]!="";i++)
  25.      {
  26.          cout<<res[i]<<endl;   
  27.      }
  28.    system("pause");
  29.    return 0;
  30. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     string str="123.45.6789";
  7.     str+=".";
  8.     string res[50];
  9.     int index=0;
  10.     string tmp="";
  11.     for(int X=0; X<str.size(); X++)
  12.     {
  13.          if(str[X]=='.')
  14.          {
  15.              res[index]=tmp;
  16.              tmp="";
  17.              index++;
  18.          }else
  19.          {
  20.              tmp+=str[X];
  21.          }
  22.     }
  23.     for(int X=0; res[X]!=""; X++)
  24.         cout<<res[X]<<endl;
  25.     system("pause");
  26.     return 0;   
  27. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     string str="123.45.6789";
  7.     str+=".";
  8.     string res[50];
  9.     int index=0;
  10.     string tmp="";
  11.     for(int i=0; i<str.size(); i++)
  12.     {
  13.          if(str[i]=='.')
  14.          {
  15.              res[index]=tmp;
  16.              tmp="";
  17.              index++;
  18.          }else
  19.          {
  20.              tmp+=str[i];
  21.          }
  22.     }
  23.     for(int i=0; res[i]!=""; i++)
  24.         cout<<res[i]<<endl;
  25.     system("pause");
  26.     return 0;   
  27. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. #include<sstream>
  4. using namespace std;
  5. int main()
  6. {
  7.     string str="234.2434.234234.234";
  8.     str+=".";
  9.     string fk[50];
  10.     string th="";
  11.     int ind=0;
  12.     for(int i=0;i<str.size();i++)
  13.     {
  14.         if(str[i]=='.')
  15.         {
  16.             fk[ind]=th;
  17.             th="";
  18.             ind++;           
  19.         }else
  20.         {
  21.             th+=str[i];
  22.         }     
  23.     }
  24.     for(int i=0;fk[i]!="";i++)
  25.     {
  26.        cout<<fk[i]<<endl;     
  27.     }
  28.     system("pause");
  29.         return 0;
  30. }
複製代碼

TOP

  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     string str="123.45.6789";
  7.     string res[50];
  8.     string tmp="";
  9.     int j=0;
  10.     for(int i=0; i<str.length(); i++)
  11.     {
  12.         if(str[i]=='.')
  13.         {
  14.             res[j]=tmp;
  15.             tmp="";
  16.             j++;
  17.             continue;
  18.         }
  19.         tmp+=str[i];
  20.     }
  21.     res[j]=tmp;
  22.     for(int i=0; res[i]!=""; i++)
  23.         cout<<res[i]<<endl;
  24.     system("pause");     
  25.     return 0;   
  26. }
複製代碼

TOP

返回列表