how I can know if a string is empty or not!?

 Akzeptierte Antwort

Guillaume
Guillaume am 15 Mai 2016
Bearbeitet: Guillaume am 15 Mai 2016

1 Stimme

How about the helpfully named isempty?:
>>isempty('aaa')
ans =
0
>>isempty('')
ans =
1
Note that because strings are just matrices (of characters), it's the same test you use for matrix emptiness.

4 Kommentare

Imen Mani
Imen Mani am 15 Mai 2016
Ok ! thank you for your help :)
Note that isempty() works for chars but not strings.
>>isempty("aaa")
ans=
0
>>isempty("")
ans=
0
So if one is not sure if the variable is a char array or string, variable should be compared to "" with strcmp or "==".
Adam Danz
Adam Danz am 7 Mai 2020
Bearbeitet: Adam Danz am 7 Mai 2020
For strings or char arrays, you can use,
TF = strlength(s)==0; % r2016b or later
Demo
strlength('word') % ans = 4
strlength("word") % ans = 4
strlength("") % ans = 0
strlength('') % ans = 0
If the string is scalar,
isempty(char(s))
Demo
s = "";
isempty(char(s)) % ans = 1
Stephen23
Stephen23 am 8 Mai 2020
Bearbeitet: Stephen23 am 8 Mai 2020
"" is not an empty string array, it is a scalar string array (which happens to have zero characters, but the number of characters is totally irrelevant to the size of the string array):
>> isscalar("aaaaaaaaa")
ans=
1
>> isscalar("")
ans=
1
If you want to know how many characters are in the elements of a string array, use strlength:

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Weird Rando
Weird Rando am 15 Mai 2016
Bearbeitet: Weird Rando am 15 Mai 2016

2 Stimmen

You can use the length()
a = '';
stringlen = length(a) % stringlen = 0

Kategorien

Mehr zu Characters and Strings finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by