how to make table of ip address numbers

2 vues (au cours des 30 derniers jours)
Jay Hanuman
Jay Hanuman le 27 Nov 2016
Commenté : Jay Hanuman le 27 Nov 2016
I attached ip address data file. I want to make table of ip address numbers. i.e. suppose I have ip addresses
10.0.12.4
10.0.12.5
10.0.7.4
10.0.8.5
10.0.8.4
then it should be in table format with 4 columns
10 0 12 4
10 0 2 5
10 0 7 4
10 0 8 5
10 0 8 4
how to do this.

Réponse acceptée

Guillaume
Guillaume le 27 Nov 2016
Modifié(e) : Guillaume le 27 Nov 2016
If using R2016b, you can use the new string type. It is then trivial to split the strings in one go with split and then convert to numbers with double:
numericip = double(split(string(X), '.'))
Otherwise, you can use the old-fashioned strsplit + str2double wrapped in a cellfun to create a vector per ip string. You have to use the 'UniformOutput', false option to store these vectors in a cell array, and then convert the whole cell array back to a matrix with cell2mat.
numericip = cell2mat(cellfun(@(ip) str2double(strsplit(ip, '.')), X, 'UniformOutput', false))
The first option is significantly faster (and less to type).

Plus de réponses (1)

Daniel kiracofe
Daniel kiracofe le 27 Nov 2016
strsplit() will split up the strings for you. Then use sprintf() to make the formatting
https://www.mathworks.com/help/matlab/ref/strsplit.html

Catégories

En savoir plus sur Data Type Conversion dans Help Center et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by