iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++如何切割String对象的方法
  • 873
分享到

C++如何切割String对象的方法

2024-04-02 19:04:59 873人浏览 独家记忆
摘要

目录核心函数find函数substr函数数值转换输入样例输出样式c++相较于Java,python 并没有提供的字符串分割的函数split,因此需要自己进行编写。在实际的工作中这一功

c++相较于Java,python 并没有提供的字符串分割的函数split,因此需要自己进行编写。在实际的工作中这一功能会被经常使用,所以进行简单的记录一下。

核心函数

代码实现的函数是调用String库中的find函数和substr函数。

find函数

size_type find(const basic_string &str,size_type pos=0)

find函数完成最简单的搜索,它查找参数指定的字符串(str),若找到返回一个String::size_type的值,用来表示匹配发生位置的下标。若未找到,则返回一个名为string::npos的static成员。C++标准库将npos定义为一个const string ::size_type类型,并初始化值为-1。由于npos是一个unsigned类型,此初值意味着npos等于任何string最大的可能大小。

参数str,pos表示从pos位置中开始查找str

除了find 操作,string还支持以下的操作

  • str.find(args) 查找str中args第一次出现的位置
  • str.rfind(args) 查找str中args最后一次出现的位置
  • str.find_first_of(args) 查找str中args中第一个字符第一次出现的位置
  • str.find_last_of(args) 查找str中args中第一个字符最后一次出现的位置
  • str.find_first_not_of(args) 查找str中args中第一个不在atgs中的字符
  • str.find_last_not_of(args) 查找str中args中最后一个不在atgs中的字符

substr函数

string substr(size_type pos=0,size_type count=npos)

substr主要功能是复制字符串,要求从指定的位置pos开始,并具有指定的长度count。若未指定长度或者pos+count>源字符串的长度,则子字符串将延续到源字符串的结尾

数值转换

由于本次样例中需要将string类型转换为int类型,我们简单介绍以下常见的string的数值转换

int转换成string

int i=42;
string s=to_string(i);

string 转换成int

string str='42';
stoi(str);

输入样例

nums = [3,2,4], target = 6

输出样式

3 2 4 
6

代码实现

#include<iOStream>
#include<vector>
#include<string>
using namespace std;

void spiltStr(string str,const string & split,vector<string>&strlist)
{
    strlist.clear();
    if(str=="")
        return;
    string strs=str+split;
    size_t pos=strs.find(split);
    int steps=split.size();

    while(pos!=strs.npos)
    {
        //substr 复制字符串,起始位置,复制字符数目
        string temp=strs.substr(0,pos);
        strlist.push_back(temp);
        strs=strs.substr(pos+steps,strs.size());
        pos=strs.find(split);
    }

}

int main()
{
    vector<int>num;
    vector<string>strlist;
    string inputStr;
    string tempStr;
    int target;

    getline(cin,inputStr);
    if(inputStr=="")
    {
        return 0;
    }

    //分割输入的字符串
    spiltStr(inputStr,"[",strlist);
    spiltStr(strlist[1],"]",strlist);
    spiltStr(strlist[0],",",strlist);

    //将vector<string>spiltStr的数值写入vector<int>nums中
    for(auto i:strlist)
    {
        num.push_back(stoi(i));
    }

    spiltStr(inputStr,"=",strlist);

    // spiltStr(strlist.back(),"=",strlist);
    target=stoi(strlist.back());


    for(auto i:num)
    {
        cout<<i<<" ";
    }
    cout<<endl;
    cout<<target<<endl;
    

}

例程演示

到此这篇关于C++如何切割String对象的方法的文章就介绍到这了,更多相关C++ 切割String对象内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C++如何切割String对象的方法

本文链接: https://www.lsjlt.com/news/148617.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++如何切割String对象的方法
    目录核心函数find函数substr函数数值转换输入样例输出样式C++相较于Java,Python 并没有提供的字符串分割的函数split,因此需要自己进行编写。在实际的工作中这一功...
    99+
    2024-04-02
  • C++怎么切割String对象
    这篇文章主要讲解了“C++怎么切割String对象”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++怎么切割String对象”吧!核心函数代码实现的函数是调用String库中的find函数...
    99+
    2023-06-30
  • C#中如何使用String对象
    C#中如何使用String对象,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。把一个字符串变量赋给另一个字符串时,就会创建一个全新的C# String对象,就是说这个时候就会有两...
    99+
    2023-06-17
  • C++实现字符串切割的两种方法
    目录字符串切割的两种方法1、通过stl实现2、通过使用strtok()函数实现字符串分割&类型转换(string->double)字符串切割的两种方法 字符串切割的使用...
    99+
    2024-04-02
  • JavaScrip String对象的方法有哪些
    JavaScrip String对象的方法有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。String对象的方法方法一: indexOf() (推荐)var&...
    99+
    2023-06-25
  • Java中String的split切割字符串方法实例及扩展
    目录一、public String[] split(String regex)二、public String[] split(String regex, int limit)三、扩展...
    99+
    2024-04-02
  • Java如何实现用hash方法切割文件
    小编给大家分享一下Java如何实现用hash方法切割文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是...
    99+
    2023-05-30
    java hash
  • javascript中string对象的方法有哪些
    这篇文章给大家分享的是有关javascript中string对象的方法有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。string方法有:charAt()、indexOf()、match()、repeat()...
    99+
    2023-06-14
  • Java String对象使用方法详解
    Java String对象使用方法详解先来看一个例子,代码如下: public class Test { public static void main(String[] args) { String str = "abc"; ...
    99+
    2023-05-31
    java string ava
  • Java String对象的使用方法有哪些
    这篇文章主要讲解了“Java String对象的使用方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java String对象的使用方法有哪些”吧!String 对象的实现Strin...
    99+
    2023-06-02
  • Java中创建String 对象的方法有哪些
    这篇文章将为大家详细讲解有关Java中创建String 对象的方法有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。创建 String 对象有三种方法String s1="我是字...
    99+
    2023-05-31
    java string ava
  • mysql切割字符串的方法是什么
    在MySQL中,可以使用SUBSTRING_INDEX函数来切割字符串。该函数接受三个参数,即要切割的字符串,分隔符以及要返回的子字...
    99+
    2024-05-10
    mysql
  • Nginx访问日志切割的三种方法
    1. 使用 shell 脚本实现 接下来,很简单,shell 脚本来了 #/bin/bash # author jiangexing set -e #脚本执行,遇到错就退出,不再往下执行 sleep 1 # 配合定时任务,0 点过...
    99+
    2023-08-31
    nginx 运维 服务器
  • java大文件切割的方法是什么
    Java中切割大文件的方法有多种,以下是其中一种常见的方法:1. 使用RandomAccessFile类:- 打开需要切割的源文件和...
    99+
    2023-08-16
    java
  • Python编程算法中的对象编程:一切皆对象?
    Python是一种面向对象编程语言,这意味着在Python中,一切皆对象。对象编程是一种编程范式,它将数据和数据上的操作封装在一起,形成一个对象。Python中的对象编程为程序员提供了一种更加高效的方式来处理代码和数据。 在Python中...
    99+
    2023-10-16
    编程算法 对象 编程算法
  • php如何调用对象方法
    今天小编给大家分享一下php如何调用对象方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、创建对象在PHP中,调用对象方...
    99+
    2023-07-05
  • C++实现对象池的具体方法
    目录前言一、什么是对象池二、如何实现1.确定接口2.转成代码三、完整代码四、使用示例1、对象复用,示例:2、简易的线程池,示例:总结前言 需求无限,但资源有限的情况下,就需要对资源进...
    99+
    2024-04-02
  • JavaScript中String对象的使用方法以及实例
    方法总览: 实例(js中字符串和字符串对象之间能够自由转换,字符串可以直接使用字符串对象的方法和属性):  var ss="孙士彬倪炜豪汤键倪炜豪"; documen...
    99+
    2024-04-02
  • c++怎么用指针指向string的对象
    在C++中,可以通过以下方式使用指针指向string对象: 使用指针声明一个指向string对象的指针变量: string st...
    99+
    2023-10-27
    c++
  • Java实现字符串切割的方法详解
    今天给大家介绍一个小知识点,但是会非常的实用,就是平时我们写Java代码的时候,如果要对字符串进行切割,我们巧妙的运用一些技巧,可以把性能提升5~10倍。下面不说废话,直接来给大家上...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作