📅  最后修改于: 2023-12-03 15:36:16.246000             🧑  作者: Mango
许多情况下,我们需要将从某个输入源接收到的数字表示字符串进行进一步处理。然而,其中可能包含有前导零,这些前导零往往会导致后续的处理出现问题。因此,我们需要实现一种方法,从输入字符串中删除所有的前导零。
我们可以使用循环,找到第一个非零位,然后从该位置开始截取字符串。具体的实现方法如下:
string removeLeadingZeroes(string num) {
int i;
for (i = 0; i < num.size(); i++) {
if (num[i] != '0')
break;
}
return num.substr(i);
}
这里,我们使用了一个循环,从左到右扫描字符串,找到第一个非零位,然后使用substr()
函数截取该位置以后的子串。最后,我们将截取后的子串作为函数的返回值。
下面是一个示例,说明我们如何从输入的字符串中删除前导零:
string num = "000123000";
string newNum = removeLeadingZeroes(num);
cout << num << endl; // 输出: 000123000
cout << newNum << endl; // 输出: 123000
通过本文我们了解了如何实现从输入的字符串中删除前导零的方法。这个方法可以帮助我们处理数字字符串,避免出现问题。