Getting parts of string with for loop

조회 수: 4 (최근 30일)
Benedikt Skurk
Benedikt Skurk 2021년 3월 5일
답변: Prudhvi Peddagoni 2021년 3월 8일
Hi hopefully u can help me!
I have the attached string (picture) and now i want to get from every string in every column the word between the last \ and dot. So for example for the first column i would like to get Gös-Schb2_Ma142-Schb.
The problem is that i will have files later with a different pattern. So its important that i can find with the code the last backslash and dot. My code is:
pointLocation = strfind(A, '.');
underlineLocation = strfind(A, '\');
firstPart = A(underlineLocation(end):pointLocation(end));
But its not working at all...maybe u can help me?
  댓글 수: 4
Stephen23
Stephen23 2021년 3월 5일
편집: Stephen23 2021년 3월 5일
"That is just for filenames i guess..."
The function has no idea if the input text is a filename of not. It just identifies the relevant separator characters.
"...and to seperate filename and path"
and file extension.
"But i have strings in a table right?"
That is the very first time you used the term table. Your screenshot shows a 1x408 string array, not a table.
"Dont know how i can work with that."
You could try using fileparts. The loop probably isn't required either.
Mathieu NOE
Mathieu NOE 2021년 3월 5일
hello
so what does your code generate ?
is it possible for you to send a few examples of strings ?

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

채택된 답변

Prudhvi Peddagoni
Prudhvi Peddagoni 2021년 3월 8일
Hi,
As Stephen Cobeldick pointed out. fileparts function does exactly what you are looking for. the second output, name, is the part of the string that is after last '/' and before last '.'. So you can get the strings from a table and give it to this function.
Hope this helps.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Characters and Strings에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by