如何解决如何在Matlab中删除不间断的前导空格?
通常,我使用 strtrim()
来删除前导空格。因此," Fruit"
变为 "Fruit"
。
但是,如果前导空格是不间断的,即 char(160)
,则 strtrim 及其表亲 - deblank
和 strtok
- 无法删除此前导空格。>
我还尝试使用 for 循环将 " Fruit"
替换为 "Fruit"
,但 for 循环似乎无法识别 " Fruit"
,这表明我没有正确识别它。
这是我的 for 循环
for i=1:height(T)
if T.Foods(i) == " Fruit"
T.Foods(i) = "Fruit"
end
end
有什么方法可以删除这个前导的、不间断的空格,或者至少用一个没有空格的变量替换它?
解决方法
您可以使用 regexprep
匹配正则表达式 \s
(任何空白字符)并替换为 ''
>> str = [char(160),'fru',char(160),'it',char(160)]
str =
' fru it '
>> regexprep( str,'\s','' )
ans =
'fruit'
如评论中所述,仅针对您将使用的前导空格
regexprep( str,'^\s+','' )
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。