string - 删除字符串Matlab末尾的下划线

标签 string matlab

我有一个字符串数组

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'

关于string - 删除字符串Matlab末尾的下划线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24937582/

相关文章:

c++ - 使用 Matlab Compiler 将 MATLAB .m 文件转换为 .mex 文件

python - 确保 matlab 的 `fread` 的 python 等价性

matlab - Matlab 中使用近似最近邻 (FLANN) 的快速库

ios - 检查 Swift 中两个字符串表达式之间的相似性

python - 如何在Python中使用强制符号将 float 格式化为固定宽度

c - 如何将字符串值传递给 C 中的函数

matlab - 在 matlab 中使用 plot3 时如何保存绘图?

c++ - c_str() ing 字符串 - 除了第一行之外的所有其他行都将丢失

java - SQL最长前缀字符串

matlab - 嵌套函数在 MATLAB 中如何工作?