# Split column in table based on character

5 Ansichten (letzte 30 Tage)
Dion Theunissen am 3 Aug. 2021
Kommentiert: Walter Roberson am 3 Aug. 2021
Hi,
I have a table with a string column. Now i want to split this column in 3 seperate coluns.
In that column are strings like this:
["51∞ 13' 51,6""]
I want to create new columns like:
[51],[13], [51.6]
Anyone who can help me with this?
##### 0 Kommentare-1 ältere Kommentare anzeigen-1 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Akzeptierte Antwort

Walter Roberson am 3 Aug. 2021
S = "51∞ 13' 51,6"""
S = "51∞ 13' 51,6""
str2double(regexp(regexprep(S, ',', '.'),'[\d.]+', 'match'))
ans = 1×3
51.0000 13.0000 51.6000
Is it possible for + or - to appear? How is N vs S or E vs W denoted?
##### 3 Kommentare2 ältere Kommentare anzeigen2 ältere Kommentare ausblenden
Walter Roberson am 3 Aug. 2021
S = [
"51∞ 14' 12,9"""
"51∞ 8' 40,2"""
"51∞ 16' 43,3"""
"51∞ 8' 40,3"""
]
S = 4×1 string array
"51∞ 14' 12,9"" "51∞ 8' 40,2"" "51∞ 16' 43,3"" "51∞ 8' 40,3""
cell2mat(cellfun(@str2double,regexp(regexprep(S, ',', '.'),'[\d.]+', 'match'), 'uniform', 0))
ans = 4×3
51.0000 14.0000 12.9000 51.0000 8.0000 40.2000 51.0000 16.0000 43.3000 51.0000 8.0000 40.3000

Melden Sie sich an, um zu kommentieren.

### Kategorien

Find more on Tables in Help Center and File Exchange

R2021a

### Community Treasure Hunt

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

Start Hunting!

Translated by