我一直试图只提取" Apple"从下面的字符串即。之间","和" /"。有没有办法在分隔符之间提取字符串?目前,","之后的所有字符串;提取。
std::string test = "Hello World, Apple/Banana";
std::size_t found;
found = test.find(",");
std::string str3 = test.substr(found);
std::cout << str3 << std::endl;
答案 0 :(得分:0)
一次一步。首先,在逗号后提取部分。然后在下面的斜杠之前提取零件。
或者,substr()
也会选择第二个参数,即要提取的最大字符数,而不是提取字符串左边的所有内容。因此,如果您计算要提取的字符数,也可以通过一次substr()
调用来完成。
答案 1 :(得分:0)
第一部分是找到子串&#34; Apple&#34;开始。您可以使用find()。它返回子字符串的第一个字符的位置。然后,您可以使用std :: string构造函数传入包含start和stop位置的原始字符串。
参考 String find(), String constructor
std::string extractedString = std::string(test, test.find("Apple"), sizeof("Apple") - 1);
答案 2 :(得分:0)
您可以使用>>> df1.loc[:, df1.gt(10).any(axis=0)]
0 1 2 3 4
a 0 1 2 3 4
b 5 6 7 8 9
c 10 11 12 13 14
d 15 16 17 18 19
的第二个参数来查找提取的长度
substr
使用VC2013时会输出#include <string>
using namespace std;
int main(int argc, char * argv[]){
string test = "Hello World, Apple/Banana";
size_t f1 = test.find(',');
size_t f2 = test.find('/');
string extracted = test.substr(f1, f2 - f1);
}
。如果您将, Apple
更改为f1
,则会输出size_t f1 = test.find(',') + 2;
。