How to extract the first part of an array of strings by pattern?
2 views (last 30 days)
Show older comments
Hi,
I have an array of strings: L_Name. Each string has several "_" in it. I would like to have an array that take the first part in each string by '_'. I tried to use strfind, or reg, but just cannot get it.
How to do that? Thanks! JF
0 Comments
Accepted Answer
Stephen23
on 25 May 2017
Edited: Stephen23
on 25 May 2017
>> C = {'L_Name','Z_Y_X','Aaaa_BBBB','MMM'};
>> D = regexp(C,'[^_]+','once','match');
>> D{:}
ans = L
ans = Z
ans = Aaaa
ans = MMM
>>
2 Comments
Image Analyst
on 25 May 2017
The nice thing is, it also works for an array of strings (the new string data type that MATLAB now has) in addition to the cell array Stephen showed:
C = ["L_Name","Z_Y_X","Aaaa_BBBB","MMM"]
D = regexp(C,'[^_]+','once','match');
D{:}
More Answers (0)
See Also
Categories
Find more on Characters and Strings in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!