How to extract locations from strings of addresses?
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
pietro
am 10 Jan. 2019
Bearbeitet: Stephen23
am 13 Jan. 2019
Hi all,
I have more than a thousand of strings containing addresses. How can I programmatically extract the locations, like cities (e.g. Rome, London, etc) and countries (e.g. Italy, UK, etc)?
Thanks
Pietro
8 Kommentare
Akira Agata
am 13 Jan. 2019
Bearbeitet: Akira Agata
am 13 Jan. 2019
How abou the following approach?
- Split each line with ';' character into 1 or 2 segments
- Split each segment(s) with ',' mark into several fragments
- Extract the last two fragments
The following is my try:
str = [...
"Sustainable Industrial Systems, School of Chemical Engineering and Analytical Science, The University of Manchester, Manchester, United Kingdom; Dipartimento di Scienze Agrarie e Ambientali - Produzione, Territorio, Agroenergia, Università degli Studi di Milano, Milan, Italy";
"Department of Agricultural and Environmental Sciences - Production, Landscape, Agroenergy, Università degli Studi di Milano, Via G. Celoria 2, Milano, Italy; Department of Earth and Environmental Sciences, University of Milano-Bicocca, Piazza della Scienza 1, Milano, Italy";
"Department of Land and Agriculture and Forestry Systems, University of Padua, Viale dell'Università 16, 35020 Legnaro (PD), Italy";
"Dipartimento di Agraria, University of Sassari, Sassari, Italy"];
for kk1 = 1:numel(str)
strSplit = strsplit(str(kk1),';');
strOut = repelem("",1,numel(strSplit));
for kk2 = 1:numel(strSplit)
strTmp = strsplit(strSplit(kk2),', ');
strOut(kk2) = strjoin(strTmp(end-1:end),', ');
end
disp(strjoin(strOut,'; '))
end
The output is as follows:
Manchester, United Kingdom; Milan, Italy
Milano, Italy; Milano, Italy
35020 Legnaro (PD), Italy
Sassari, Italy
Akzeptierte Antwort
Stephen23
am 13 Jan. 2019
Bearbeitet: Stephen23
am 13 Jan. 2019
Using one simple regular expression:
>> C = {...
'Sustainable Industrial Systems, School of Chemical Engineering and Analytical Science, The University of Manchester, Manchester, United Kingdom; Dipartimento di Scienze Agrarie e Ambientali - Produzione, Territorio, Agroenergia, Università degli Studi di Milano, Milan, Italy';
'Department of Agricultural and Environmental Sciences - Production, Landscape, Agroenergy, Università degli Studi di Milano, Via G. Celoria 2, Milano, Italy; Department of Earth and Environmental Sciences, University of Milano-Bicocca, Piazza della Scienza 1, Milano, Italy';
'Department of Land and Agriculture and Forestry Systems, University of Padua, Viale dell''Università 16, 35020 Legnaro (PD), Italy';
'Dipartimento di Agraria, University of Sassari, Sassari, Italy'};
>> M = regexp(C,'[^,]+,[^,]+(?=;|$)','match');
>> M{:}
ans =
' Manchester, United Kingdom'
' Milan, Italy'
ans =
' Milano, Italy'
' Milano, Italy'
ans =
' 35020 Legnaro (PD), Italy'
ans =
' Sassari, Italy'
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Data Import finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!