2012-04-12 42 views
0

我正在使用此項目的地區和城市URL。現在很多地區和城市的名字可能很長,而縮短的地區/城市信息的組合可能會導致模糊。將名稱縮短爲可讀代碼的算法

是否有一種簡單的方法來自動縮短單詞的方式,使它們仍然有意義,可讀性強,而且縮短了而不僅僅是減少結尾?

就像把不來梅港變成Brmhvn或紐黑文Conncticut到NewHvn-Cncticut?

我很感謝任何鼓舞人心的答案。

+3

刪除所有的元音。我們不需要它們! – 2012-04-12 09:56:55

+2

只有50個州,因此您可以使用查找表將它們映射到它們的兩個字符表示(例如紐約 - > NY,康涅狄格州 - > CT) – 2012-04-12 09:59:59

+2

這裏的問題是您稱之爲「有意義」的東西。在波蘭strzlzwsk可能是有道理的,但不是英文。這不是語言差異。你需要更好地定義你的標準。 – 2012-04-12 10:09:57

回答

3

有世界城市的名單2797245個城市可以免費從http://www.maxmind.com/app/worldcities

我想類似的URL模式設計到

{Country TLD}/{Abbreviation for state, province or prefecture}/{Trim of county or district}/{Trim of city} 

一些例子,

  • www.example。 /紐約/ - 紐約
  • www.example.com/US/NY/ Westcheste/MtVernon(Mount Vernon in Westchester County, New York- 郡修剪成10個第一個字符。此外,在城市名稱常用詞縮寫
  • www.example.com/DE/Bavaria/Munich
  • www.example.com/JP/Tohoku/Miyagi/Sendai(Sendai

對於區域,你可能要考慮使用ISO 3166 code。因此,對於慕尼黑和仙台上面的例子看起來像

  • www.example.com/JP/Tohoku/ JP-04 /仙台
  • www.example。COM/DE/DE-BY這是用來 /慕尼黑

其他線索

希望它能幫助。

+0

只是:哇!正是我在找什麼。你是我最喜歡的一天!感謝您的努力! – 2012-04-12 21:35:58

2

如果你想讓較短的版本對人類有意義,我認爲這是非常複雜的,因爲它不是非常明顯的代表正確的全名。

例如:我自己的城市赫爾辛堡。鑑於這個名字,我會把它分成每個Syllable一個字母。 Hel-Sing-Borg - > HSB。 但我從未見過任何人使用這個縮寫詞。我認識的每個人都使用HBG。

總之,我會說它很容易做出一個功能,使任何給定的遊戲的邏輯首字母縮寫詞,但很難嘗試,使一個人是可識別的。

如果你只是想從名字中挖出一些字母,這可能會容易得多,但是你可能想和一位英語教授交談,以瞭解哪些部分名字可以切出而不影響名字可讀性。但是這是可能的,並且最有可能的是公開可用的關於我們如何閱讀可以參考的單詞的研究。

+0

你說得對。問題是複雜的,因此我現在只使用簡單的「踢出元音」的方法,直到我有時間找到更合適的國際有效解決方案。如果我找到一個,我會在這裏發佈。感謝您的詳細解答。 – 2012-04-12 13:31:57

2

你最好建議採用現有的代碼列表,而不是自己編寫代碼。例如,您可以使用IATA codeszip/postal codes,即使是電話撥號代碼(找到您自己的鏈接)。

+0

國際航空運輸協會代碼是一個非常好的主意。謝謝。儘管我的列表中還有很多沒有機場的城市。我仍然可以使用國際航空運輸協會至少爲那些有機場的城市找到捷徑。 – 2012-04-12 13:30:24