Href hyperlink, how to escape double quotes " ?

조회 수: 29 (최근 30일)
covfefe
covfefe 2022년 6월 20일
편집: Jan 2022년 6월 22일
How can I escape double quotes when displaying a hyperlink in matlab?
Example:
I want to create a hyperlink to execute this command:
[cmd_status cmd_return] = system('explorer.exe /select, "C:\My folder\My file" ')
Without double quotes, the relevant hyperlink is:
disp('<a href="matlab:system(''explorer.exe /select, C:\My folder\My file'');">Click Here</a>')
However, nothing I tried ("", \", '", ...) worked (it has to be double quotes, windows CMD does not accept anything else)
Thank you
  댓글 수: 2
Walter Roberson
Walter Roberson 2022년 6월 20일
편집: Walter Roberson 2022년 6월 21일
try coding
&quot;
in place of each double quote that is being escaped
covfefe
covfefe 2022년 6월 21일
I don't this this is working
disp(['<a href="matlab:system(''explorer.exe /select, &quot;C:\My folder\My file&quot;'');">Click Here</a>'])
does not convert the &quot; to ", leaving windows unable to execute the command

댓글을 달려면 로그인하십시오.

채택된 답변

Fangjun Jiang
Fangjun Jiang 2022년 6월 20일
편집: Fangjun Jiang 2022년 6월 21일
knowing
double('"')
ans = 34
char(34)
ans = '"'
This leads to the following, which works out properly
disp('<a href="matlab:system([''explorer.exe /select, '',char(34),''c:\My Folder\My File'',char(34)] );">Click Here</a>')
  댓글 수: 5
covfefe
covfefe 2022년 6월 21일
Thanks @Fangjun Jiang. I know this is an option, I was hoping for a cleaner solution. Surely there has to be a way to escape the quotes, right?
Fangjun Jiang
Fangjun Jiang 2022년 6월 21일
Ha! this works out
disp('<a href="matlab:system([''explorer.exe /select, '',char(34),''c:\My Folder\My File'',char(34)] );">Click Here</a>')

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Jan
Jan 2022년 6월 21일
편집: Jan 2022년 6월 22일
I'm curious:
% [UNTESTED] [TYPO FIXED]
disp(['<a href="matlab:system(', ...
'strrep(''explorer.exe /select, $C:\My folder\My file$'', ''$'', char(34));">Click Here</a>')
Fanjung's idea:
% [UNTESTED]
disp('<a href="matlab:myExplorer(''C:\My folder\My file'');">Click Here</a>')
function myExplorer(File)
system(sprintf('explorer.exe /select, "%s"');
end
  댓글 수: 1
covfefe
covfefe 2022년 6월 21일
Thanks, this one works too. (there was a typo, correct syntax is:)
disp(['<a href="matlab:system(strrep(''explorer.exe /select, $C:\My folder\My file$'', ''$'', char(34)));">Click Here</a>'])

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Whos에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by