Find and trim text in a table
7 次查看(过去 30 天)
显示 更早的评论
I have a table with a column of strings. In each string, I need to find the '_' character and trim off it and all text to the right. My brain has stopped working and can't figure it out. Thanks!
T = table({"A_1";"A_2";"A_10"},[1;2;1],[6;7;5],...
'VariableNames',{'Section' 'Data1' 'Data2'})
T =
Section Data1 Data2
_______ _____ _____
"A_1" 1 6
"AB_2" 2 7
"B_10" 1 5
What I'd like is....T=
Section Data1 Data2
_______ _____ _____
"A" 1 6
"AB" 2 7
"B" 1 5
0 个评论
采纳的回答
KL
2017-12-5
编辑:KL
2017-12-5
use regexprep,
T = table({"A_1";"AB_2";"B_10"},[1;2;1],[6;7;5],...
'VariableNames',{'Section' 'Data1' 'Data2'});
T.Section = cellfun(@(x) regexprep(x,'(?=\_)[\S]*',''),T.Section,'uni',0)
T =
3×3 table
Section Data1 Data2
_______ _____ _____
["A" ] 1 6
["AB"] 2 7
["B" ] 1 5
更多回答(1 个)
Peter Perkins
2017-12-19
As KL's answer indicated, this isn't really a question about tables, you just need to figure out how to do it for a string column vector, and then put "T." in from of the string variable's name.
If you have strings data, not a cellstr, take a look at extractBefore. I think it does exactly what you're looking for. And
methods string
will lead you to a bunch of other related operations.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Characters and Strings 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!