
More Tricks
Tricks & Tips: Abbreviations
![]() | Road: Howeth Road Rd : Columbia Rd Close: Kings Close Cl. : Archdale Cl Gardens: Lewis Gardens Gdns: Hendford Gdns |
Split names in to parts
set word1='${name|part:" :1"}';
set word2='${name|part:" :2"}';
add word3='${name|part:" :3"}';
We don't need more words; if there are 3 words we presume it needs abbreviating anyway
Length of string using 'substring'
highway=* { set len='${word1|substring:"8"}'}
len is 'empty' if the length of name < 8
Main condition
if (highway=* & len =*|word3=*) then
# abbreviate if there is a 3rd word or if the length of wrd1>7
else
end
Abbreviate
word2 = * {set name='$(word2)'}
word3 = * {set name='$(word3)'}
name=* {set name = '${name|subst:Road=>RD}' ; # etc
# rebuild street name
word3=* {set name='$(word1) $(word2) $(name)';delete word2;}#
word2=* {set name='$(word1) $(name)'; } #

