Если у вас Stata 14 и более поздние версии, это может быть достигнуто с помощью нового регулярного выражения Unicode
двигатель:
clear
input str60 address
"54 Islington Park St, London, N1 1PX"
"1 00 Upper St, London, N10NP"
"St. Marys Church, Upper St, London, N1 2TX"
"Camden Passage, 3 3, Islington Green, London, N18DU"
"2 0 7 Upper Street, Islington, LONDON, N1 1RL"
end
generate wanted = ustrregexra(address, "(?<=\d)\s+(?=\d)", "")
list wanted
+----------------------------------------------------+
| wanted |
|----------------------------------------------------|
1. | 54 Islington Park St, London, N11PX |
2. | 100 Upper St, London, N10NP |
3. | St. Marys Church, Upper St, London, N12TX |
4. | Camden Passage, 33, Islington Green, London, N18DU |
5. | 207 Upper Street, Islington, LONDON, N11RL |
+----------------------------------------------------+
Используя вышеупомянутое регулярное выражение, функция ustrregexra()
устраняет все пробелы между цифрами только . Нажмите здесь для подробного объяснения регулярного
выражение.
Если у вас более старая версия Stata, будет практичнее устранить пробелы
сначала в отдельных переменных, а затем все вместе.