我有一些類似「paddington道路」的字符串,我需要從此字符串中提取「道路」一詞。我怎樣才能做到這一點?從字符串中提取令牌
問題是我需要處理一個街道列表並提取一些詞,如「道路」「公園」「街道」「林蔭大道」等等。
什麼可能是最好的辦法呢?複雜度爲O(n * m),如果您考慮處理超過5000條街道,則性能應該非常重要。
我從Postgres數據庫提取值並放入列表,但我不知道這是最好的方法,可能是一個哈希表查詢更快?
我想是這樣的:
// Parse selectedList
Iterator<String> it = streets.iterator();
Iterator<String> it_exception = exception.iterator();
int counter = streets.size();
while(it.hasNext()) {
while (it_exception.hasNext()) {
// remove substring it_exception.next() from it.next()
}
}
你覺得呢?
當你說你想「提取」這些話。你是否需要對你「提取」的單詞做任何事情,或者你只是想從字符串中刪除它們? – 2012-01-11 22:36:56
您是否認爲在選擇查詢本身中添加該條件會增加複雜性? – 2012-01-11 22:37:00
爲什麼不使用substring()和indexof()方法?你可以通過在postgres中使用SQL查詢來提取一個字符串來執行相同的操作,它也有一個substring()和strpos() – 2012-01-11 22:39:00