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

Community Treasure Hunt

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

Start Hunting!

Translated by