use*_*243 3 regex string matlab str-replace
假设我们在MATLAB中有这个字符串:
mm = [' 44412 (25.01%)'];
Run Code Online (Sandbox Code Playgroud)
我想只删除此字符串中的第一个空格以获得此输出:
'44412 (25.01%)'
Run Code Online (Sandbox Code Playgroud)
我正在使用strrep(mm,'\^\s\s','')
但没有工作.问题是什么?
问题strrep
在于它不允许您使用regex
模式.filter('\^'
)的第一部分也尝试^
显式匹配,因此它不会对您的字符串起作用.如果删除前导,则\
过滤器可以正常工作regexprep
,但仅限于具有2个前导空格的字符串.
请尝试使用此更通用的过滤器regexprep
.
str = ' 44412 (25.01%)';
newstr = regexprep(str, '^\s+', '');
Run Code Online (Sandbox Code Playgroud)
哪个回报:
newstr =
44412 (25.01%)
Run Code Online (Sandbox Code Playgroud)
我在这里做的是在字符串的开头匹配1个或更多的空格字符.这种语法还允许我们在没有任何前导空格的字符串上使用它,并且不对它进行任何修改.
编辑:这里有一些内置的替代品!
您可以使用strtrim
,但它会删除前导和尾随空格:
newstr = strtrim(str);
Run Code Online (Sandbox Code Playgroud)
您还可以使用strjust
左对齐字符串:
newstr = strjust(str, 'left');
Run Code Online (Sandbox Code Playgroud)
如果你想要真正的创意,你可以翻转你的数组并使用deblank
,它会删除尾随的空格:
newstr = fliplr(deblank(fliplr(str)));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
73 次 |
最近记录: |