Href hyperlink, how to escape double quotes " ?

33 vues (au cours des 30 derniers jours)
covfefe
covfefe le 20 Juin 2022
Modifié(e) : Jan le 22 Juin 2022
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 commentaires
Walter Roberson
Walter Roberson le 20 Juin 2022
Modifié(e) : Walter Roberson le 21 Juin 2022
try coding
&quot;
in place of each double quote that is being escaped
covfefe
covfefe le 21 Juin 2022
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

Connectez-vous pour commenter.

Réponse acceptée

Fangjun Jiang
Fangjun Jiang le 20 Juin 2022
Modifié(e) : Fangjun Jiang le 21 Juin 2022
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 commentaires
covfefe
covfefe le 21 Juin 2022
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 le 21 Juin 2022
Ha! this works out
disp('<a href="matlab:system([''explorer.exe /select, '',char(34),''c:\My Folder\My File'',char(34)] );">Click Here</a>')

Connectez-vous pour commenter.

Plus de réponses (1)

Jan
Jan le 21 Juin 2022
Modifié(e) : Jan le 22 Juin 2022
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 commentaire
covfefe
covfefe le 21 Juin 2022
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>'])

Connectez-vous pour commenter.

Catégories

En savoir plus sur MATLAB dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by