Split structured text delimated by comma in a table column

45 次查看(过去 30 天)
I have a table containing a variable for airport which has structured string values like Airport = ["MUMBAI,BOM";"NEW DELHI, DLH"; "JAIPUR,JAI";.......] How to split this variable in two different new variables in same table with one variable having location and another as loaction code.

回答(2 个)

the cyclist
the cyclist 2023-3-3
编辑:the cyclist 2023-3-3
% Create the sample input table
Airport = ["MUMBAI,BOM"; "NEW DELHI, DLH"; "JAIPUR,JAI"];
tbl = table(Airport);
% Create temporary string array, with two columns split at the comma
tmp= split(tbl.Airport,",");
% Extract the location, and put in table
tbl.Location = tmp(:,1);
% Extract the code, and put in table
tbl.Code = tmp(:,2);
tbl
tbl = 3×3 table
Airport Location Code ________________ ___________ ______ "MUMBAI,BOM" "MUMBAI" "BOM" "NEW DELHI, DLH" "NEW DELHI" " DLH" "JAIPUR,JAI" "JAIPUR" "JAI"
You have an extra space for the New Delhi airport. If that is a problem there are functions for removing whitespace.

Morgan
Morgan 2023-3-3
Try using the function
newStr = split(Airport,',');
You may need to wrap the first argument with string(Airport) to make sure everything is formatted properly for the split function.
This will create an N-by-2 array, the first column will be the location string and the second column is the location code string.
Let me know if you need anything else!
  • Morgan Blankenship, MS, EIT

类别

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