我想在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中的字符串中的所有特殊字符前添加'\',任何人都可以幫助我。這裏是例子:如何在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