extract or split data from one column in table into several columns
5 views (last 30 days)
Show older comments
Hi
I have a column with text data like below across multiple rows. I want to extract or split parts of this data into new columns. This data is not the same across all rows. Could anyone advise how to do this?
Ideally to get these 5 variables (separated here by /) into 5 columns
250ms,500ms / 95, 101, 106, 107 / Avg: 11_right / | bl | _HLG_MLD | (9) vs. Avg: 11_right | bl | _CG | _LOW (8) / FCL
from this data stored in one column as below
Perm t-test equal [250ms,500ms 95, 101, 106, 107]: Avg: 11_right | bl | _HLG_MLD | (9) vs. Avg: 11_right | bl | _CG | _LOW (8) | FCL
This data varies across rows but is in this same format, i.e it could be 11_right or 12_righ, etc, or could be FCL or POL, etc.
4 Comments
Answers (1)
dpb
on 18 Jan 2021
>> s='250ms,500ms / 95, 101, 106, 107 / Avg: 11_right / | bl | _HLG_MLD | (9) vs. Avg: 11_right | bl | _CG | _LOW (8) / FCL';
>> split(s,'/')
ans =
5×1 cell array
{'250ms,500ms ' }
{' 95, 101, 106, 107 ' }
{' Avg: 11_right ' }
{' | bl | _HLG_MLD | (9) vs. Avg: 11_right | bl | _CG | _LOW (8) '}
{' FCL' }
>>
As Bob says, if it's only to split the string on the delimiter, it's trivial...
4 Comments
dpb
on 18 Jan 2021
Well, if you have a rule for what determines the string for determining the after in insertAfter that's fine. Is there a set of unique strings that can be determined to be in every string that can be used for the purpose? We only have one sample (and I'm not positive the representation in the forum is actually what it looks like in the file).
Are there no tabls, maybe, or is it actually a fixed-width file that might be simpler to just import by fixed column?
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!