用matlab替换fgets上的空间字符

用matlab替换fgets上的空间字符,matlab,newline,fgets,Matlab,Newline,Fgets,我使用FGET从文件中读取行,以选择要打印到另一个文件中的特定行 但是我在删除FGET获取的行上存在的空格字符并将其替换为制表符字符时遇到了一些问题 如何解决此问题?首先,您需要准确确定问题出在哪个字符上。最常见的“空格”字符是,但也有其他字符。您可以使用double确定由fgets读入的字符串中每个字符的代码: test_str = 'hello world!'; double(test_str) 返回 104 101 108 108 111 32 119 11

我使用FGET从文件中读取行,以选择要打印到另一个文件中的特定行

但是我在删除FGET获取的行上存在的空格字符并将其替换为制表符字符时遇到了一些问题


如何解决此问题?

首先,您需要准确确定问题出在哪个字符上。最常见的“空格”字符是,但也有其他字符。您可以使用
double
确定由
fgets
读入的字符串中每个字符的代码:

test_str = 'hello world!';
double(test_str)
返回

104   101   108   108   111    32   119   111   114   108   100    33
接下来,您可以使用替换为选项卡(ASCII字符代码9):

或使用非标准空白:

test_str = sprintf('hello\fworld!');
new_str = strrep(test_str,char(12),char(9))
也可以使用执行此操作,但是即使需要多次调用以替换不同的字符,
strep
也要快得多


您可能还会发现、和函数很有用。

什么是“一些问题”呢?添加相关代码,并尝试以每个人都能理解的方式描述您的问题。
test_str = sprintf('hello\fworld!');
new_str = strrep(test_str,char(12),char(9))