Python | C++ | Remove leading zeros from an IP address - GeeksforGeeks

18 Feb, 2022
Given an IP address, remove leading zeros from the IP address.Examples:  
Input : 100.020.003.400 
Output : 100.20.3.400

Input :001.200.001.004  
Output : 1.200.1.4
 
 
Method 1 : Traversal and join
The approach is to split the given string by “.” and then convert it to an integer which removes the leading zeros and then join back them to a string.To convert a string to an integer we can use int(s) and then convert it back to string by str(s) and then join them back by using join function. 
Python
C++
# Python program to remove leading zeros# an IP address and print the IP # function to remove leading zerosdef removeZeros(ip):         # splits the ip by "."    # converts the words to integeres to remove leading removeZeros    # convert back the integer to string and join them back to a string    new_ip = ".".join([str(int(i)) for i in ip.split(".")])     return new_ip ;          # driver code  # example1ip ="100.020.003.400" print(removeZeros(ip))  # example2ip ="001.200.001.004"print(removeZeros(ip))
// Cpp program to remove leading zeros// an IP address and print the IP #include <bits/stdc++.h>using namespace std; // function to remove leading zerosstring removeZeros(string s){    vector<string> v;     // splits the ip by "."    for (int i = 0; i < s.length(); i++) {        string ans;        while (i < s.length() && s[i] != '.') {            ans += s[i];            i++;        }        v.push_back(ans);    }     vector<int> num;    // converts the words to integeres to remove leading removeZeros    for (auto str : v) {        int temp = 0;        for (int i = 0; i < str.length(); i++) {            temp *= 10;            temp += (str[i] - '0');        }        num.push_back(temp);    }     string ans = "";    // Convert back the integer to string and join them back to a string    for (auto i : num) {        ans += '.';        string temp;        while (i) {            temp += ('0' + (i % 10));            i /= 10;        }        reverse(temp.begin(), temp.end());        ans += temp;    }     return ans.substr(1);} int main(){    string ip;    // example1    ip = "100.020.003.400";    cout << (removeZeros(ip)) << "\n";    // example2    ip = "001.200.001.004";    cout << (removeZeros(ip)) << "\n";    return 0;}
Output:  
100.20.3.400
1.200.1.4
 
Method 2 : Regex
Using a capture group, match the last digit and copy it and prevents all the digits from being replaced. regex \d can be explained as:  
\d : Matches any decimal digit
\d   Matches any decimal digit, this is equivalent
     to the set class [0-9].
\b allows you to perform a “whole words only” search using a regular expression in the form of \bword\b regex \b can be explained as :  
\b allows you to perform a "whole words only" search u
sing a regular expression in the form of \bword\b
Python
# Python program to remove leading zeros# an IP address and print the IP using regeximport re # function to remove leading zerosdef removeZeros(ip):    new_ip = re.sub(r'\b0+(\d)', r'\1', ip)    # splits the ip by "."    # converts the words to integeres to remove leading removeZeros    # convert back the integer to string and join them back to a string         return new_ip          # driver code  # example1ip ="100.020.003.400" print(removeZeros(ip))  # example2ip ="001.200.001.004"print(removeZeros(ip))
Output:  
100.20.3.400
1.200.1.4
 
khatriharsh281
Python Regex-programs
python-regex
Computer Networks
Misc
Python
Strings
Misc
Strings
Misc
Computer Networks
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Advanced Encryption Standard (AES)
Intrusion Detection System (IDS)
Introduction and IPv4 Datagram Header
Secure Socket Layer (SSL)
Cryptography and its Types
vector::push_back() and vector::pop_back() in C++ STL
Top 10 algorithms in Interview Questions
Overview of Data Structures | Set 1 (Linear Data Structures)
How to write Regular Expressions?
Minimax Algorithm in Game Theory | Set 3 (Tic-Tac-Toe AI - Finding optimal move)