C++ 有没有一种干净的方法可以使用范围分割逗号和空格分隔的单词?
我实际上是在改编这部电影 输入:一个字符串,包含逗号分隔的单词,逗号后有空格 输出:单词 我所说的clean是指不依赖于将临时变量存储到变量中的东西,基于代码的意图,这些变量没有存在的理由 我的尝试 包括 包括 包括 包括 包括 包括 包括 auto constexpr为=[]字符c{ return[c]char c_{return c_==c;}; }; 使用名称空间范围::视图; int main { std::字符串ss{cccc iao}; //正确打印[i,a,o] std::coutsplit可以在长度超过一个元素的模式上进行分割。需要注意的一点是,作为一个范围,它是一个包含三个元素的模式,包括终止的空字符,并且在任何情况下,适配器都会将其衰减为指针,这使得它不是一个范围。因此: 自动结果=输入| rv::拆分,sv; split可以在长度超过一个元素的模式上拆分。需要注意的一点是,作为一个范围,它是一个包含三个元素的模式,包括终止的空字符,并且在任何情况下,适配器都会将其衰减为指针,这使得它不是一个范围。因此: 自动结果=输入| rv::拆分,sv;C++ 有没有一种干净的方法可以使用范围分割逗号和空格分隔的单词?,c++,functional-programming,c++17,range-v3,std-ranges,C++,Functional Programming,C++17,Range V3,Std Ranges,我实际上是在改编这部电影 输入:一个字符串,包含逗号分隔的单词,逗号后有空格 输出:单词 我所说的clean是指不依赖于将临时变量存储到变量中的东西,基于代码的意图,这些变量没有存在的理由 我的尝试 包括 包括 包括 包括 包括 包括 包括 auto constexpr为=[]字符c{ return[c]char c_{return c_==c;}; }; 使用名称空间范围::视图; int main { std::字符串ss{cccc iao}; //正确打印[i,a,o] std::cout
单词也可以用空格分隔吗?如果不能,你可以只拆分两次。@cigien,你能举个例子吗?我在想拆分“”| join | split“”,但我刚刚尝试过,这个例子不起作用。为什么不能用ranges::for|each和remove擦除空格,然后在什么时候使用split|u?比如;单词也可以用空格分隔吗?如果没有,你可以拆分两次。@cigien,你能举个例子吗?我在想拆分“”| join | split“”,但我只是尝试了一下,这个例子不起作用。为什么不使用范围::for|u each and remove擦除空格,然后使用split|u when?比如;这很优雅;我忘了拆分可以使用范围。这很优雅;我喜欢rgot split可以选择一个范围。