C++:string 截取字符串

C++:string 截取字符串stringstr=”123abc456″;inti=3;1取字符串的前i个字符str=str.Substring(0,i);//orstr=str.Remove(i,str.Length-i);2去掉字符串的前i个字符:str=str.Remove(0,i);//orstr=str.Substring(i);3从右边开始取…

大家好,又见面了,我是你们的朋友全栈君。

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” 有则去掉之

   using System.Text.RegularExpressions;
   string str = “123abc456”;
   string a=”abc”;
   Regex r = new  Regex(a); 
   Match m = r.Match(str); 
   if (m.Success) {

      //二选一
      str=str.Replace(a,””);
      Response.Write(str);   
      //或者:string str1,str2;
                   str1=str.Substring(0,m.Index);
                   str2=str.Substring(m.Index+a.Length,str.Length-a.Length-m.Index);
                   Response.Write(str1+str2); 
   }

6 如果字符串中有”abc”则替换成”ABC”

str=str.Replace(“abc”,”ABC”);

 

7. 根据分隔符截取字符串,strtok()函数。

#include <iostream>
#include <cstring>

using namespace std;

int main()
{
  char sentence[]="This is a sentence with 7 tokens";
  cout<<"The string to be tokenized is:\n"<<sentence<<"\n\nThe tokens are:\n\n";
  char *tokenPtr=strtok(sentence," ");
  while(tokenPtr!=NULL)
  {
      cout<<tokenPtr<<'\n';
      tokenPtr=strtok(NULL," ");//固定写法,可直接记住
  }
  cout<<"After strtok, sentence = "<<sentence<<endl;
  return 0;
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144214.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月20日 上午6:20
下一篇 2022年5月20日 上午6:20


相关推荐

  • shell if参数-v

    shell if参数-v先说结论:if参数-v可用于判断变量是否存在,即该变量是否已定义示例代码如下#!bin/bash#targs=0#runsim=”if[-vtargs];thenif[-vrunsim];then echo”LayerONE”fiecho”LayerTWO”fiecho”LayerThree”直接运行结果为LayerThree将第二行注释去除后,即定义变量targs=0,在此运行该脚本,结果如下Laye

    2022年7月11日
    18
  • 视频传输协议(常用的视频协议)

    SDP协议RTPRTCPSRTPRTP只负责传输数据包,需要与RTCP配合使用,由RTCP来保证RTP数据包的服务质量。每一个RTP数据报都由头部(Header)和负载(Payload)两个部分组成,其中头部前12个字节的含义是固定的,而负载则可以是音频或者视频数据。整个IP报文由IP报头、UDP报头、RTP报头、RTPPayload(音频或视频数据)组成, IP协议最大传输单元(MTU)最大为1500字节,其中包括至少20字节的IP头、8字节的UDP头、12字节的RTP头, 这样,头信息

    2022年4月17日
    106
  • sql 左连接,内连接 的写法「建议收藏」

    左连接的含义:使用LEFTJOIN关键字,会从左表那里返回所有的行,即使在右表中没有匹配的行。1)左连接selecta.*,b.*fromtable1aleftjointable2bona.id=b.parent_id2)内连接selecta.*,b.*f…

    2022年4月13日
    46
  • Dubbo原理和使用

    Dubbo原理和使用分布式系统定义 Dubbo 是用于分布式系统的框架所以我们要先了解什么是分布式 分布式系统是若干独立计算机的集合 这些计算机对于用户来说就像单个相关系统 老式系统 单一应用架构 是把一个系统 统一放到一个服务器当中然后每一个服务器上放一个系统 如果要更新代码的话 每一个服务器上的系统都要重新部署 十分麻烦 而分布式系统就是将一个完整的系统拆分成多个不同的服务 然后在将每一个服务单独的放到一个服务器当中应用的架构演变单一应用架构 一个项目装到一个服务器当中 也可以运行多个服务器每一个服务器当中都装一个

    2026年3月16日
    7
  • Oracle ORA-01017 报错处理

    Oracle ORA-01017 报错处理Oracle ORA-01017报错处理背景: 通过toad连接Oracle11gRAC数据库是,发现通过sys用户连接总是报ORA-01017错误,tnsping连接名称是通的,其他用户连接是正常的,反复输入sys账户信息,总提示:1.尝试改sys用户密码,重试报错依旧。 2.使用sys登录GC,报错相同。使用普通用户登录正常。 3.数据库服务器上使用sqlplus

    2022年5月31日
    710
  • C中sealed的用法

    C中sealed的用法1 sealed 关键字 nbsp nbsp nbsp 当对一个类应用 sealed 修饰符时 此修饰符会阻止其他类从该类继承 类似于 Java 中 final 关键字 nbsp nbsp nbsp 在下面的示例中 类 B 可以继承类 A 但是任何类都不能继承类 BclassA sealedclassB A nbsp 2 sealed 修饰方法或属性 nbsp nbsp nbsp 可以允许类从基类继承 并防止它们重写特定的虚方法或虚属性 nbsp nbsp nbsp

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号