gpt4 book ai didi

c++ - 根据其中的数字子字符串拆分字符串

转载 作者:行者123 更新时间:2023-11-30 04:46:12 24 4
gpt4 key购买 nike

我有一个字符串,例如

std::string input = "Trp80Ter";

我需要把它拆分成数值前后的字母,得到:

std::string substring0 = "Trp";
std::string substring1 = "Ter";
int number = 80;

此外,它应该是字符串中出现的第一个数字,因为我也可以将值设置为:

std::string input = "Arg305LeufsTer18";

// which I need to transform in:
std::string substring0 = "Arg";
std::string substring1 = "LeufsTer18";
int number = 305;

PS:字符串的第一个“字符”部分并不总是 3 个字符长

我找到了一个 similar question但是对于 JS,我在网上搜索没有找到答案

非常感谢您的帮助!

最佳答案

std::string input = "...";
std::string::size_type pos1 = input.find_first_of("0123456789");
std::string::size_type pos2 = input.find_first_not_of("0123456789", pos1);
std::string substring0 = input.substr(0, pos1);
std::string substring1 = input.substr(pos2);
int number = std::stoi(input.substr(pos1, pos2-pos1));

或者,C++11 和更高版本有一个原生的 Regular Expression library 用于搜索字符串中的模式。

关于c++ - 根据其中的数字子字符串拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56917806/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com