首页 > 其他分享 >如何遍历字符串的单词?

如何遍历字符串的单词?

时间:2023-10-28 19:22:22浏览次数:33  
标签:遍历 iterator iss 单词 istream 字符串 include

内容来自 DOC https://q.houxu6.top/?s=如何遍历字符串的单词?

如何遍历由空格分隔的单词组成的字符串中的单词?

请注意,我对C字符串函数或那种字符操作/访问不感兴趣。我更喜欢优雅而不是效率。我目前的解决方法:

#include <iostream>
#include <sstream>
#include <string>

using namespace std;

int main() {
    string s = "Somewhere down the road";
    istringstream iss(s);

    do {
        string subs;
        iss >> subs;
        cout << "子字符串: " << subs << endl;
    } while (iss);
}

值得一提,这是另一种从输入字符串中提取标记的方法,仅依赖于标准库设施。这是STL设计背后的强大和优雅的一个例子。

#include <iostream>
#include <string>
#include <sstream>
#include <algorithm>
#include <iterator>

int main() {
    using namespace std;
    string sentence = "And I feel fine...";
    istringstream iss(sentence);
    copy(istream_iterator<string>(iss),
         istream_iterator<string>(),
         ostream_iterator<string>(cout, "
"));
}

与将提取的标记复制到输出流不同,可以使用相同的通用 copy算法将它们插入到容器中。

vector<string> tokens;
copy(istream_iterator<string>(iss),
     istream_iterator<string>(),
     back_inserter(tokens));

或者直接创建vector

vector<string> tokens{istream_iterator<string>{iss},
                      istream_iterator<string>{}};

标签:遍历,iterator,iss,单词,istream,字符串,include
From: https://www.cnblogs.com/xiaomandujia/p/17794498.html

相关文章

  • 【pwn】[MoeCTF 2022]babyfmt --格式化字符串漏洞,got表劫持
    拿到程序,先checksec一下发现是PartialRELRO,got表可修改当RELRO保护为NORELRO的时候,init.array、fini.array、got.plt均可读可写;为PARTIALRELRO的时候,ini.array、fini.array可读不可写,got.plt可读可写;为FULLRELRO时,init.array、fini.array、got.plt均可读不可写。然后看主......
  • ​​leet code 30.串联所有单词的子串
    leetcode30.串联所有单词的子串题目描述给定一个字符串s 和一个字符串数组words。words中所有字符串长度相同。s中的串联子串是指一个包含words中所有字符串以任意顺序排列连接起来的子串。例如,如果words=["ab","cd","ef"],那么"abcdef","abefcd","cdabef","cdefa......
  • 文心一言+pycharm添加自己的单词本插件
    学习教程:https://yiyan.baidu.com/developer/doc#Dllaifmrc我的单词本插件:必坑:python的版本一定要在3.7以上 ......
  • C++字符串
    C++字符串C++提供了两种类型的字符串表示形式:C风格字符串C++引入的string类类型C风格字符串C风格的字符串源于C语言,并在C++中继续得到支持。字符串实际上是使用Null字符终止的一堆字符数组。因此一个以NULL结尾的字符串,包含了组成字符串的字符。下面的声明和初始化创建了......
  • 用HashMap创建jString,ArrayList的键值对用entrySet遍历
    用HashMap创建jString,ArrayList的键值对用entrySet遍历package随机点名器;importjava.util.*;publicclassTest1{publicstaticvoidmain(String[]args){HashMap<String,ArrayList<String>>m=newHashMap<>();ArrayList<String>......
  • vue 使用filter 把无限极分类遍历为树形结构
    <scriptsetuplang="ts">interfacelistType{id:numberurl:string}constdata=[{id:1,url:'/_nuxt/assets/images/america.png'},{id:2,url:'/_nuxt/assets/image......
  • 28. 找出字符串中第一个匹配项的下标
    1.题目介绍给你两个字符串haystack和needle,请你在haystack字符串中找出needle字符串的第一个匹配项的下标(下标从0开始)。如果needle不是haystack的一部分,则返回-1。示例1:输入:haystack="sadbutsad",needle="sad"输出:0解释:"sad"在下标0和6处匹配。......
  • LeedCode刷题(1)-交替合并字符串
    1.交替合并字符串题目:给你两个字符串word1和word2。请你从word1开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并字符串的末尾。示例1:输入:word1="abc",word2="pqr"输出:"apbqcr"解释:字符串合并情况如下所示:word1:ab......
  • 151. 反转字符串中的单词
    给你一个字符串s,请你反转字符串中单词的顺序。单词是由非空格字符组成的字符串。s中使用至少一个空格将字符串中的单词分隔开。返回单词顺序颠倒且单词之间用单个空格连接的结果字符串。注意:输入字符串s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回......
  • 字符串中的BKDRHash哈希函数
    字符串中的BKDRHash哈希函数在计算机科学中,哈希函数是一种将任意长度的输入(也称为“消息”)通过散列算法转换成固定长度的输出,该输出就是哈希值。哈希函数的一个重要特性是,对于相同的输入,无论何时执行哈希函数,它都应该产生相同的输出。然而,对于不同的输入,即使它们只有微小的差别,哈......