如何在MATLAB中的所有特殊字符前添加\?
我想在MATLAB中的字符串中的所有特殊字符前添加'\',任何人都可以帮助我。这里是例子:如何在MATLAB中的所有特殊字符前添加?
tStr = 'Hi, I'm a Big (Not So Big) MATLAB addict; Since my school days!';
我想这个字符串改成:
'Hi\, I\'m a Big \(Not so Big \) MATLAB addict\; Since my school days\!'
MATLAB中的转义字符是单引号('),而不是反斜线(\),如C语言。因此,你的字符串必须是这样的:
tStr = 'Hi\, I\''m a Big (Not so Big) MATLAB addict\; Since my school days!'
我明白了。我知道了。我的问题解决了。非常感谢。 – user2183990 2013-03-18 21:38:23
你应该接受@tashuka答案! – fpe 2013-03-18 22:07:41
我承担了Mathworks公司的网页定义做这个特殊charecters名单:
special = '[]{}()=''.().....,;:%%{%}[email protected]';
tStr = 'Hi, I''m a Big (Not So Big) MATLAB addict; Since my school days!';
outStr = '';
for l = tStr
if (length(find(special == l)) > 0)
outStr = [outStr, '\', l];
else
outStr = [outStr, l];
end
end
,它会自动添加这些\ S。您确实需要在输入字符串中使用两个单引号('')代替撇号。如果使用函数input()或类似的东西获得了tStr,这个过程仍然可以工作。
编辑:
或者使用正则表达式:
regexprep(tStr,'([[\]{}()=''.(),;:%%{%}[email protected]])','\\$1')
这对Molly很有帮助。感谢您的答复。我想知道这可以使用regexprep轻松完成。 – user2183990 2013-03-18 21:41:32
我编辑我的答案使用regexprep。 – Molly 2013-03-19 03:32:27
这应该是......,'\\ $ 1');',否则就是逃避美元符号。 – hchr 2015-06-09 10:17:41
定义 “特殊字符”。你似乎将','当作一个对象,而不是'!' – Phonon 2013-03-18 20:53:56