How to check if string contains some special character?

79 visualizzazioni (ultimi 30 giorni)
Dear all,
I have a question that the best way to check if string contains:
  1. alphanumeric characters and underscore only (ex: stringabc: return 1, string abc: return 0)
  2. underscore at the beginning or the end (ex: _stringabc, stringabc_ : return 0)
  3. consecutive underscores (ex: string__abc : return 0)
  4. numbers at the beginning (ex: 012string_abc : return 0)
Thank you so much

Risposta accettata

Image Analyst
Image Analyst il 15 Dic 2020
For #1 you could use isstrprop().
For #2, see startsWith(str, '_') and endsWith(str, '_')
For #3, you can use find():
indexes = strfind(str, '__');
For #4 you could do something like
if str(1) >= '0' && str(1) <= '9'
% str starts with a numerical digit.
else
% str does not start with a numerical digit.
end
  2 Commenti
galaxy
galaxy il 15 Dic 2020
Modificato: galaxy il 15 Dic 2020
Thank you so much
For #1 you could use isstrprop().
But alphanum option of isstrprop() function access other language character.
I want to check if string contains (a-zA-Z,0-9) and underscore(_) only.
>> str = 'あかき';
>> TF = isstrprop(str, 'alphanum')
TF =
1×3 logical array
1 1 1
Image Analyst
Image Analyst il 15 Dic 2020
Sorry, I don't know that language. But you can always (I think) use logical comparison like
itsAChar = str(1) >= 'a && str(1) <= 'z'
where you just put in the lowest unicode character and highest unicode character instead of a and z.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Characters and Strings in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by