Separate path string into drive and folders

70 Ansichten (letzte 30 Tage)
Philipp
Philipp am 24 Jul. 2013
Kommentiert: Stephen23 am 21 Mai 2024
Hi,
using fileparts brings the path, the name and the exentension of a fullfile (e.g., C:\user\files\myFile.txt). Is there a function that separates the path into drive and folders, so that drive = 'C:' folder1 = 'user' folder2 = 'files' ?
Thx, Philipp

Akzeptierte Antwort

Azzi Abdelmalek
Azzi Abdelmalek am 24 Jul. 2013
s='C:\user\files\myFile.txt'
out=regexp(s,'\','split')
  6 Kommentare
Riad
Riad am 21 Mai 2024
Hi @Stephen23 there more easier way by using strsplit but I want to avoid using either "/" or "\" in the script (on the server, I've a Linux OS):
strsplit('Swc_MTR/Run_MTR_1ms_sys/COMP_/In1','/')
ans =
1×4 cell array
{'Swc_MTR'} {'Run_MTR_1ms_sys'} {'COMP_'} {'In1'}
Stephen23
Stephen23 am 21 Mai 2024
"filesep is equivalent to "\" and it works fine for a kind of paths"
No, what FILESEP is depends on the OS that MATLAB is currently running on.
"I want to avoid strsplit function by using a function that can work for both Windows/Linux OS !"
And now you write that you want to use STRSPLIT: your requirements keep on changing.
"I want to avoid using either "/" or "\" in the script (on the server, I've a Linux OS)"
I thought the requirement is to split on either of the path separators, which is also easy with STRSPLIT:
strsplit('Swc_MTR/Run_MTR_1ms_sys/COMP_/In1',{'/','\'})
ans = 1x4 cell array
{'Swc_MTR'} {'Run_MTR_1ms_sys'} {'COMP_'} {'In1'}

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Christian Schwermer
Christian Schwermer am 9 Sep. 2018
The shortest solution is to split the string using filesep as delimeter. filesep returns the platform-specific file separator "\" or "/".
pathparts = strsplit(s,filesep);

Dominique
Dominique am 19 Jul. 2023
path = uigetdir()
foldername = strsplit(path,"\");
foldername = foldername(end);

Kategorien

Mehr zu Filename Construction finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by