Full File Path Quotation Marks (Double vs Single)

A small thing that I often work around is changing file path names enclosed in double quotes to single quotes to load them into MATLAB.
In Windows I like to get a full file path (for some file that is not in my current MATLAB directory, or on PATH) with right-click + Copy As Path, which dumps a string like this on the clipboard: "C:\Users\Peter\Desktop\Pinnacle\Folder1\Folder2\Folder3\allMinima645.mat" which I need to change to this form to use the load function in MATLAB: 'C:\Users\Peter\Desktop\Pinnacle\Folder1\Folder2\Folder3\allMinima645.mat'
In python (which has its own preferred directory/path format) I can load the same using the "r" flag to tell it that I'm working with regular text formatting:
import scipy.io as sio
sio.loadmat(r"C:\Users\Peter\Desktop\Folder1\Folder2\Folder3\allMinima645.mat")
which I find slightly less cumbersome than this:
load(regexprep('"C:\Users\Peter\Desktop\Folder1\Folder2\Folder3\allMinima645.mat"','"',''))
Is there a MATLAB equivalent of pythons "r" flag (or another way to work with this)?

댓글 수: 3

Which MATLAB release are you using? The situation changed in R2016b and again in R2017a
R2015b; What about it changed in 2016b & 2017a?
R2016b added support for string objects -- character strings that can be referenced as single entities instead of having to use character vectors. string objects are displayed with double-quotes. String objects could be created from character vectors, but in R2016b there was no direct way to create a string object with specific content.
R2017a added allowing double-quotes on input to create string objects. So for example,
load("C:\Users\Peter\Desktop\Folder1\Folder2\Folder3\allMinima645.mat")
is valid in R2017a but not in R2016b.

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

 채택된 답변

Jan
Jan 2017년 6월 9일

0 개 추천

You could create your own function to remove the double quotes.
function S = Unquoted(S)
if length(S) >= 2
if S(1) == '"'
S(1) = [];
end
if S(end) = '"'
S(end) = [];
end
end

댓글 수: 2

A custom function seems to be the best solution since I'm still running 2015b. Thank you.
" cannot appear inside a file name https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx so you could simplify this to
Unquoted = @(S) S(S ~= '"')

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Call Python from MATLAB에 대해 자세히 알아보기

태그

질문:

2017년 6월 8일

댓글:

2017년 6월 9일

Community Treasure Hunt

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

Start Hunting!

Translated by