添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
文章讲述了在开发log解析工具时遇到的关于MATLAB中不同空格字符(如char(0),char(32),char(133),char(160),char(8199),char(8239))的区别,以及如何处理字符串中的特殊空白字符,如去除char(0)和尾随空白的技巧。 摘要由CSDN通过智能技术生成

今天在搞一个log解析工具的时候,发现一个非常神奇的现象,就是: ’ ’ ~= ’ '。稍微深入了解了一下才发现,空格和空格之间竟然又这么多差别。。。matlab中有非常多种‘空格’,或者说长得像空格的东西。
为了防止自己忘记,记录在此。

各种长得像空格的东西

char(0)

这是null,表示字符串结尾,看起来是matlab 的一些函数读文件的时候生成出来的,例如

c = sprintf('\0');

这个玩意折腾了我半天,如果某个 char 数组(char_tmp)末尾有这个char(0),要去掉这个玩意,可以用

strrep(char_tmp,char(0),'');

表示将char(0)替换成空

deblank(char_tmp);

表示去掉字符串末尾的尾随空白。
这个deblank会删除 char(0) 和 char(32),但是不会删除 char(160),别的没试。如果有想删删不掉的空白,可以试试这个 deblank

后面有更深的理解的话,再补充。

char(32)

这是标准空白字符,当我们直接输入 ’ ’ 时,得到的就是这个。或者blanks(1),得到的也是这个。

因此,这个是最常见的。

char(133)

char(160)

不间断空格

char(8199)

char(8239)

plot(Loc1,'r*'); % plot(Y) creates a 2-D line plot of the data in Y versus the indey of each value. % If Y is a mat...
MATLAB删除字符数组空格元素 在编写Huffman信道编码时遇到的问题,字符型数组空格元素,删除空格元素并转换为数字数组。 关键是这两句,-16是空格键的ascii码减去‘0‘的ascii码的值,也就是转换完以后空格字符的值。 W=double(W)-double('0') W(find(W==-16))=[]; 话不多说,直接看效果 ' 1 000 01 0011 0010' 转换后效果 1 0 0 0
while( ) 循环 源代码简单如下: public static String allTrim(String str) { String temp = str.trim(); int index = temp.indexOf(" "); while Ubuntu16.04 不支持 QGC4.0 报错:/lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found