相关疑难解决方法(0)

解析以逗号分隔的std :: string

如果我有一个包含以逗号分隔的数字列表的std :: string,那么解析数字并将它们放在整数数组中的最简单方法是什么?

我不想将其概括为解析其他任何内容.只是一个逗号分隔整数的简单字符串,如"1,1,1,1,2,1,1,1,0".

c++ csv string parsing stl

122
推荐指数
7
解决办法
26万
查看次数

将包含多个数字的String转换为整数

我意识到这个问题可能在过去曾多次被问过,但我会继续不管.

我有一个程序,它将从键盘输入中获取一串数字.数字将始终采用"66 33 9"的形式.基本上,每个数字都用空格分隔,用户输入将始终包含不同数量的数字.

我知道如果每个用户输入的字符串中的数字量不变,使用'sscanf'会有效,但对我来说情况并非如此.另外,因为我是C++的新手,所以我更喜欢处理'字符串'变量而不是字符数组.

c++ string integer

31
推荐指数
3
解决办法
7万
查看次数

Int tokenizer

我知道有字符串标记符,但是有"int tokenizer"吗?

例如,我想拆分字符串"12 34 46"并具有:

列表[0] = 12

列表[1] = 34

列表[2] = 46

特别是,我想知道Boost :: Tokenizer是否这样做.虽然我找不到任何不使用字符串的示例.

c++ tokenize

15
推荐指数
2
解决办法
3029
查看次数

从具有空格的字符串中获取整数的最佳方法?

我知道这很简单,我不记得最好的办法.我有一个输入" 5 15 ",它定义了2D矢量数组的x和y.我只需要将这两个数字放入int colint row.

最好的方法是什么?我正在尝试使用stringstreams,但无法弄清楚正确的代码.

谢谢你的帮助!

c++ string whitespace

14
推荐指数
2
解决办法
1440
查看次数

正则表达式:如何找到模式的最大整数值?

想象一下,我有以下字符串:

"I'll have some %1%, some %42% and maybe some %5% as well."
Run Code Online (Sandbox Code Playgroud)

基本上,我有兴趣知道模式%(整数)%之后的最大整数值.

我甚至不确定是否可以使用正则表达式.我可以使用什么正则表达式,以便在上面的例子中答案是42?

PS一个简单的解决方案显然是简单地查找任何%(整数)%模式,并使用脚本(c ++代码)迭代所有匹配并找到最高值.我的问题是:是否可以在正则表达式中立即执行此操作?

背景:理解下面的内容可能没有必要回答这个问题,但我想你们中的一些人可能想知道.

基本上我使用的是C++和boost :: format.格式用这样的占位符构图:%1%,%2%等.如果提供的变量数与格式本身的最大整数值不对应,Boost :: format会抛出异常.我将使用的格式由(受信任的)用户(网站管理员)提供.不过,为了正确地做事,我需要验证模式.因此,我需要在模式中找到最大整数,以确保在运行时不会抛出异常.

如果您使用带有用户提供格式的boost :: format,您是如何处理此问题的?

顺便说一句,没有boost-format标签!(虽然还有其他的boost-foo标签).

Billy ONeal提供了正确的答案,Beh Tou Cheh(在所选答案的评论中)非常友好地粘贴了实际的代码:

#include <iostream>
#include <string>
#include <deque>
#include "strtk.hpp"

int main() 
{
   std::string s = "I'll have some %1%, some %42% and maybe some %5% as well.";
   std::deque<int> int_list;
   strtk::split_regex("%([\\d]+)%",
                       s,
                       strtk::range_to_type_back_inserter(int_list),
                       strtk::match_mode::match_1);

   if (!int_list.empty())
   {
        std::cout << "max: " << strtk::max_of_cont(int_list) << std::endl;
   } …
Run Code Online (Sandbox Code Playgroud)

c++ regex format boost

12
推荐指数
1
解决办法
1581
查看次数

标签 统计

c++ ×5

string ×3

boost ×1

csv ×1

format ×1

integer ×1

parsing ×1

regex ×1

stl ×1

tokenize ×1

whitespace ×1