gpt4 book ai didi

c++ - 从字符串中的多个数字中删除前导零? [C++]

转载 作者:行者123 更新时间:2023-11-30 03:47:58 25 4
gpt4 key购买 nike

假设我有一个包含“00001234 00002345”的字符串,但我想在“1234 2345”处输出它。我该怎么做?

    str.erase(0, str.find_first_not_of('0'));

这会删除第一个数字中的 0,但不会删除任何前面的数字。

最佳答案

您可以使用 \b0+ 正则表达式(它匹配非单词字符后的 0 符号,即 [a-zA-Z0-9_]) 如果您对正则表达式解决方案感兴趣:

std::string input("00001234 00002345");
std::regex rgx(R"(\b0+)");
std::cout << std::regex_replace(input, rgx, "");
// => 1234 2345

参见 IDEONE demo

请注意,原始字符串文字允许我们使用单个反斜杠来转义正则表达式元字符。

关于c++ - 从字符串中的多个数字中删除前导零? [C++],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33425900/

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