I want to convert my binary data into hex, the function that does so only that string as an input. but when I convert my 64 bit binary matrix into a string, it doesn't remove the spaces, which is messing my solution, any idea how to get rid of these
here is wat im talking about;
what i want: '0111001101100001011001000'
what i get: '0 1 1 1 0 0 1 1 0 1 1 0 0 0 0 1 0 1 1 0 0 1 0 0 0'

4 commentaires

AYUSH VARSHNEY
AYUSH VARSHNEY le 31 Mai 2021
And what about vice versa???
what i want : ''0 1 1 1 1 0 0 0 0 0 1 1 0 0 0" like this from "01110000011100"??
S = "01110000011100"
S = "01110000011100"
regexprep(S, '(.)(?=.)', '$1 ')
ans = "0 1 1 1 0 0 0 0 0 1 1 1 0 0"
S = "01110000011100";
sprintf(" %c",S{1})
ans = " 0 1 1 1 0 0 0 0 0 1 1 1 0 0"
Walter Roberson
Walter Roberson le 5 Juin 2021
But then you have to get rid of the leading space ;-)

Connectez-vous pour commenter.

 Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 15 Juil 2012
Modifié(e) : Image Analyst le 6 Juil 2021

18 votes

% Add this code
A = '0 1 1 1 0 0 1 1 0 1 1 0 0 0 0 1 0 1 1 0 0 1 0 0 0' % Has spaces
A = A(find(~isspace(A)))
You get a string with no spaces:
A =
'0 1 1 1 0 0 1 1 0 1 1 0 0 0 0 1 0 1 1 0 0 1 0 0 0'
A =
'0111001101100001011001000'

9 commentaires

Sadia
Sadia le 15 Juil 2012
thx alot
Jan
Jan le 15 Juil 2012
The find() is not needed: A= A(~isspace(A)) is sufficient already.
pham quyet
pham quyet le 18 Mar 2015
thank you very much
AYUSH VARSHNEY
AYUSH VARSHNEY le 31 Mai 2021
And what about vice versa???
what i want : ''0 1 1 1 1 0 0 0 0 0 1 1 0 0 0" like this from "01110000011100"??
@AYUSH VARSHNEY, try this:
str = '0 1 1 1 1 0 0 0 0 0 1 1 0 0 0'
% Make it like this form "01110000011100"
str(str == ' ') = []
AYUSH VARSHNEY
AYUSH VARSHNEY le 4 Juin 2021
i need to add spaces in this ..
Image Analyst
Image Analyst le 4 Juin 2021
@AYUSH VARSHNEY, it looks like all the spaces are now gone so I'm glad my code worked for you.
AYUSH VARSHNEY
AYUSH VARSHNEY le 5 Juin 2021
no no no... it won't work for me....the pic i showed to you is the string is without space...
which is like this = "000011101010001010011"
and what i want is the spaces between them .
like this = "0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0"
S = "01110000011100"
S = "01110000011100"
regexprep(S, '(.)(?=.)', '$1 ')
ans = "0 1 1 1 0 0 0 0 0 1 1 1 0 0"

Connectez-vous pour commenter.

Plus de réponses (3)

jwiix
jwiix le 6 Sep 2018
Modifié(e) : Image Analyst le 6 Juil 2021

12 votes

As an alternative
A = '0 1 1 1 0 0 1 1 0 1 1 0 0 0 0 1 0 1 1 0 0 1 0 0 0'
A = strrep(A,' ','') % Replace space with null.
It's slightly faster than the current logical indexing answer I think.
-------------------------------------------------------------------------------------------
K>> A= '0 1 1 1 0 0 1 1 0 1 1 0 0 0 0 1 0 1 1 0 0 1 0 0 0'
A =
'0 1 1 1 0 0 1 1 0 1 1 0 0 0 0 1 0 1 1 0 0 1 0 0 0'
K>> tic; A= A(~isspace(A)); toc
Elapsed time is 0.000653 seconds.
-------------------------------------------------------------------------------------------
K>> A= '0 1 1 1 0 0 1 1 0 1 1 0 0 0 0 1 0 1 1 0 0 1 0 0 0'
A =
'0 1 1 1 0 0 1 1 0 1 1 0 0 0 0 1 0 1 1 0 0 1 0 0 0'
K>> tic; A = strrep(A,' ',''); toc
Elapsed time is 0.000098 seconds.
:)

1 commentaire

Shep Bryan
Shep Bryan le 6 Juil 2021
This answer is much better than the accepted answer

Connectez-vous pour commenter.

Image Analyst
Image Analyst le 15 Juil 2012
Modifié(e) : Image Analyst le 15 Juil 2012

7 votes

Just set locations with spaces equal to null:
% Generate sample string.
theString = '0 1 1 1 0 0 1 1 0 1 1 0 0 0 0 1 0 1 1 0 0 1 0 0 0'
% Now change existing string by setting locations with spaces equal to null.
theString(theString == ' ') = []
% Alternative method.
% Create a brand new string with a different name
% by extracting non-space elements.
stringWithoutSpaces = theString(theString ~= ' ')
Akansha Saxena
Akansha Saxena le 31 Août 2016

3 votes

requiredString = regexprep(theString, '\s+', '')

2 commentaires

Alexander Jensen
Alexander Jensen le 30 Mar 2018
Modifié(e) : Alexander Jensen le 30 Mar 2018
This also works on cell arrays containing strings! (at least as of version R2017a)
Example:
str = {'1 GC 2 H M', 'food nam nam';'hello world','meh bleb'};
requiredString = regexprep(str, '\s+', '')
requiredString =
2×2 cell array
'1GC2HM' 'foodnamnam'
'helloworld' 'mehbleb'
Thank you
Rajbir Singh
Rajbir Singh le 10 Jan 2019
its works.
Thank you @Akansha Saxena

Connectez-vous pour commenter.

Catégories

En savoir plus sur Deep Learning Toolbox dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by