Matlab正则表达式:替换逗号和一个字母

时间:2015-09-03 01:24:01

标签: regex string matlab

我在matlab中有这样的字符串。

str='42 21 S'

我如何将其转换为以下形式?

str='42.21'

我尝试使用regexprep()的内容如下:

regexprep(str,'S','');
regexprep(str,' ', '.')

让我留下了这个

str='42.21.'

2 个答案:

答案 0 :(得分:2)

这应该是诀窍,Matlab在字符串方面不是很好,所以可能有各种各样的方法来做,而不仅仅是使用regexp / regexprep

regexprep(regexp('42 21 A','\d+\s\d+','match'),'\s','.')

regexp删除空格,最后删除S,然后regexprep用句点替换空格。

答案 1 :(得分:1)

对于简单的替换,您不必使用regexprep。您可以使用更简单的strrep

str = strrep(str, ' S', '');
str = strrep(str, ' ', '.');

如果您需要更多常规替换规则,则应使用regexprep,例如David的答案。