我有一个字符串数组
Str_in = {'ab_cd_a9_b5__','ab_cd_r_','ef_g','3swe_4r_2345___','swe','eds______'};
如何删除上述字符串数组中的尾随下划线。每个字符串的长度不是恒定的,下划线的数目可能会有所不同。预期的输出字符串是
Str_out = {'abcda9_b5','ab_cd_r','ef_g','3swe_4r_2345','swe','eds'};
在这个问题上会有人帮忙吗?
使用正则表达式替换这些字符很方便。尾随_的模式为(“ _”的数量大于或等于1):
_+$
所以代码是:
Str_in = {'ab_cd_a9_b5__','ab_cd_r_','ef_g','3swe_4r_2345___','swe','eds______'};
Str_out = cellfun(@(x) regexprep(x, '_+$', ''), Str_in, 'UniformOutput', false);
% or do as Shai mentioned,
Str_out = regexprep(Str_in, '_+$', '');
disp(Str_out);
输出:
'ab_cd_a9_b5' 'ab_cd_r' 'ef_g' '3swe_4r_2345' 'swe' 'eds'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句