string截取详解

一、string截取指定字符串

string截取功能可以用于字符串的处理,例如从字符串中截取指定字符,指定位置,以及指定长度等等。其中,截取指定字符串可以使用substr函数。

    string str = "hello world";
    string substr = str.substr(6,5);

上述代码中,substr函数第一个参数是截取的起始位置,第二个参数是截取的长度。上面的代码表示从字符串”hello world”中截取第6个位置开始的长度为5的字符串,即”world”。

二、string截取字符串的右侧数据

借助substr函数,还可以对字符串进行右截取。例如我们想要得到字符串的右边3个字符,可以这样写:

    string s = "abcdefg";
    string s_right = s.substr(s.length() - 3, 3); // "efg"

其中,s.length()表示字符串s的长度,因此(s.length() – 3)表示字符串右侧第三个字符的位置,而第二个参数3表示要截取的长度。

三、string截取最后两位

和上面类似,想要得到一个字符串的最后两位,只需要调用substr函数,指定起始位置为字符串长度减二即可。

    string str = "abcdefgh";
    string str_last_two = str.substr(str.length() - 2, 2); // "gh"

四、string截取最后一个逗号

假设我们有一个字符串s,其中包含多个逗号分隔的字符串,我们想要获得这个字符串中最后一个逗号后面的内容。可以先用substr函数得到逗号的位置,然后再进行截取。

    string s = "a,b,c,d,e,f";
    auto pos = s.rfind(",");
    string res = pos == string::npos ? s : s.substr(pos + 1); // "f"

在上述代码中,rfind函数是从字符串的右侧开始查找给定字符(逗号)的位置。如果没有查找到,则返回string::npos,表示未找到。如果找到了逗号,就可以用substr函数得到逗号后面的内容。

五、string截取前八位

要截取一个字符串的前八位,可以调用substr函数,指定截取的起始位置为0,长度为8。

    string s = "abcdefgh";
    string res = s.substr(0, 8); // "abcdefg"

六、string截取前四位

如果想要截取一个字符串的前四位,同样也是使用substr函数,指定截取的长度为4,起始位置为0。

    string s = "abcdefgh";
    string res = s.substr(0, 4); // "abcd"

七、string截取指定位置

对于一个字符串,需要截取其中的一部分,可以使用substr函数。例如,如果我们想要截取一个字符串的第5个位置之后的子字符串,可以写成:

    string s = "abcdefgh";
    string res = s.substr(4); // "efgh"

八、string截取以前的内容

如果需要截取一个字符串中某个子串出现之前的内容,可以使用find函数和substr函数。例如,如果s是一个字符串,其中有一个子串”world”,我们需要截取其出现之前的内容,可以这样写:

    string s = "hello world";
    auto pos = s.find("world");
    string res = pos == string::npos ? s : s.substr(0, pos); // "hello "

九、string截取后三位

如果需要截取一个字符串的后面几位,同样可以使用substr函数。例如,如果我们需要截取一个字符串的后三位,可以写成:

    string s = "abcdefgh";
    string res = s.substr(s.length() - 3); // "fgh"

十、string截取分隔符内容

如果需要从一个字符串中截取某几个分隔符之间的内容,可以用find函数和substr函数结合。假设我们有一个字符串,其中包含多个以逗号分隔的字符串。我们需要获取第三个逗号后面的内容,可以这样写:

    string s = "a,b,c,d,e,f";
    auto pos = s.find(",");
    for (int i = 0; i < 3; ++i)
    {
        pos = s.find(",", pos + 1);
        if (pos == string::npos)
        {
            break;
        }
    }
    string res = pos == string::npos ? s : s.substr(pos + 1); // "d,e,f"

在上述代码中,首先用find函数找到第一个逗号的位置,然后在循环中一直向后找逗号,直到找到第三个为止。最后,用substr函数从第三个逗号的位置开始获取字符串内容。

原创文章,作者:EGAE,如若转载,请注明出处:https://www.506064.com/n/141696.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
EGAEEGAE
上一篇 2024-10-08 17:56
下一篇 2024-10-08 17:56

相关推荐

  • c# enum转换成string

    本文将从以下几个方面详细阐述c#中enum类型转换成string类型的方法及注意事项。 一、基本语法和示例 c#中的enum类型可以看作是一组有名字的常量值,通常用于定义一组相关的…

    编程 2025-04-29
  • JWT String Argument Cannot Be Null or Empty

    JWT(JSON Web Token)是一种用于进行身份验证的标准。在使用JWT时,经常会遇到“JWT String Argument Cannot Be Null or Empt…

    编程 2025-04-27
  • Python中String包含的进阶应用

    对于Python程序员而言,String类型的操作是日常工作中必不可少的一部分。String包含的操作很多,其中最基础的操作就是判断一个字符串是否包含另一个字符串。本篇文章将对Py…

    编程 2025-04-27
  • 神经网络代码详解

    神经网络作为一种人工智能技术,被广泛应用于语音识别、图像识别、自然语言处理等领域。而神经网络的模型编写,离不开代码。本文将从多个方面详细阐述神经网络模型编写的代码技术。 一、神经网…

    编程 2025-04-25
  • Linux sync详解

    一、sync概述 sync是Linux中一个非常重要的命令,它可以将文件系统缓存中的内容,强制写入磁盘中。在执行sync之前,所有的文件系统更新将不会立即写入磁盘,而是先缓存在内存…

    编程 2025-04-25
  • 详解eclipse设置

    一、安装与基础设置 1、下载eclipse并进行安装。 2、打开eclipse,选择对应的工作空间路径。 File -> Switch Workspace -> [选择…

    编程 2025-04-25
  • Python安装OS库详解

    一、OS简介 OS库是Python标准库的一部分,它提供了跨平台的操作系统功能,使得Python可以进行文件操作、进程管理、环境变量读取等系统级操作。 OS库中包含了大量的文件和目…

    编程 2025-04-25
  • Linux修改文件名命令详解

    在Linux系统中,修改文件名是一个很常见的操作。Linux提供了多种方式来修改文件名,这篇文章将介绍Linux修改文件名的详细操作。 一、mv命令 mv命令是Linux下的常用命…

    编程 2025-04-25
  • Python输入输出详解

    一、文件读写 Python中文件的读写操作是必不可少的基本技能之一。读写文件分别使用open()函数中的’r’和’w’参数,读取文件…

    编程 2025-04-25
  • nginx与apache应用开发详解

    一、概述 nginx和apache都是常见的web服务器。nginx是一个高性能的反向代理web服务器,将负载均衡和缓存集成在了一起,可以动静分离。apache是一个可扩展的web…

    编程 2025-04-25

发表回复

登录后才能评论