Replacing non-alphabetic characters with numbers?
3 ビュー (過去 30 日間)
古いコメントを表示
Hello everyone,
I'm trying to solve a question and it's asking me to take the variable:
TS1='%@3Gb6'
and convert the non-alphabetic characters to zeros and the alphabetic characters with ones, saving the result as a new variable. Ideally I'm trying to get a new variable to saves as:
result=[0 0 0 1 1 0]
I would greatly appreciate the help on this issue.
0 件のコメント
採用された回答
Azzi Abdelmalek
2015 年 1 月 22 日
編集済み: Azzi Abdelmalek
2015 年 1 月 22 日
out=zeros(size(TS1));
out(regexpi(TS1,'[A-Z]','start'))=1
%OR
str=['A':'Z' 'a':'z'];
out=ismember(TS1,str)
0 件のコメント
その他の回答 (1 件)
Matz Johansson Bergström
2015 年 1 月 22 日
Yet another answer, just for the "cellfun" of it ;-)
tmp = cellfun(@(x) isstrprop(x, 'alpha'), {TS1}, 'UniformOutput', false);
out = cell2mat(tmp)
First, check the property of each element (cellfun does this) of the cell array {TS1}, if 'alpha' then 1 otherwise 0. Then we need to convert to a matrix, which is a vector in this case. If you wish to sum the ones in the vector you might want to convert it to "double", it is logical now.
0 件のコメント
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!