编程 - 截取字符串

18 篇文章 0 订阅

1、string

 

    //截取某字符前的字符串
    string str =  "dsfsdf.abc" ;
    str.substr(0,str.find( '.' ));

string str="123abc456";
int i=3;
1 取字符串的前i个字符
    str=str.Substring(0,i); // or  str=str.Remove(i,str.Length-i); 
2 去掉字符串的前i个字符:
    str=str.Remove(0,i);  // or str=str.Substring(i); 
3 从右边开始取i个字符:
   str=str.Substring(str.Length-i); // or str=str.Remove(0,str.Length-i);
4 从右边开始去掉i个字符:
    str=str.Substring(0,str.Length-i); // or str=str.Remove(str.Length-i,i);
5 如果字符串中有"abc"则替换成"ABC"
    str=str.Replace("abc","ABC");

2、char *

对于char*类型的字符串,采用函数strtok或者strtok_s函数来执行字符串的截取。
目标字符串: char dest[1024] = "123@234@345,qwere";
char* str1 = strtok(dest, "@");
char* str2 = strtok(NULL, "@"); //注意第一参数变为了NULL
char* str3 = strtok(NULL, ",");
char* str4 = strtok(NULL, "\0");
      或者也可以使用strtok_s函数,不该该函数需要用在高版本的运行环境中,VC++6.0是不识别该函数的。用法如下:
char* safeBuffer;
char* str1 = strtok_s(dest, "@", &safeBuffer);
char* str2 = strtok_s(NULL, "@", &safeBuffer); //注意第一参数变为了NULL
char* str3 = strtok_s(NULL, ",", &safeBuffer);
char* str4 = strtok_s(NULL, "\0", &safeBuffer);
 

3、CString

 

CString str =  "dsfsdf.abc" ;
str.left(str.find( '.' ));
 
 
CString a="322,787,123";


int n=a.Find(",");       //查找第一个","的位置

b=a.left(n);             //将","左边的值取出给b

int length=a.Delete(0,n); //找出","右边的字符串位数

a = a.Right(length);        //将","右边的字符串取出做为新的字符串
 
 
 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值