2013-08-02 269 views
0

我正在使用SQlite和我很長的字符串作爲文本類型的數據添加一個列的項目,但它給了我近「SQL中的某處文本」語法錯誤。所以我試圖通過添加像「^^」這樣的特殊鍵來分割字符串。所以我想要做的是,當它看到^^標記拆分字符串並將其添加到字符串數組中時,我將把這些數組轉換爲我的表中的列。此代碼使我無法界定異常任何想法出現什麼問題它? (任何解決方案,保持文本的列沒有分割也是受歡迎的。)拆分字符串與拆分方法

MedText是我的主要文本,我想拆分。 和它有一些零件就是喜歡

ILACetkileşimleri:Antihistaminikler alkol VEantidepresanların etkilerinde artmaya YOLaçabilirkenfenilpropanolamin'in B-adrenerjik blokerlerle beraberkullanılması。

^^Endikasyonları:手柄已經控的冷algınlığına巴格利buruntıkanıklığı已經 burunakıntısı,aksırma,burun已經boğazdakaşıntı,BASağrısı,adale ağrısı,boğazağrısı,vücutkırıklığı,阿泰,nezle,gözlerdesulanma 已經kaşıntı吉比durumlardakullanılır。

^^Uyarılar/Önlemler:A-ferin forte tablet,sedasyona yolaçabilir。卜 nedenle dikkat gerektiren makinalardaçalışanlarda,tehlikeli VE/veya 育空塞克yerlerdeçalışanlardaveyavasıtakullananlarda kazaya neden olabileceğindenA-ferin長處片劑kullanımısırasındaBU吉比ISLER yapılmamalıdır。

(對不起,非英語單詞)

ArrayList<String> abc=new ArrayList<String>(); 
      for (String Ex : MedText.split("^^")) { 
       abc.add(Ex); 

      } 
+0

多字節字符集數據的長字符串應該被存儲爲「斑點」,除非你需要讓他們搜索。這將消除任何需要逃離字符串。 –

回答

4

你需要逃避^\原因^表示正則表達式行首。 See documention

MedText.split("\\^\\^"); 

這裏是你的字符串

String test = "ilaç etkileşimleri: Antihistaminikler alkol ve antidepresanların etkilerinde artmaya yol açabilirken fenilpropanolamin'in b-adrenerjik blokerlerle beraber kullanılması.\n\n"+ 
       "^^Endikasyonları: Grip ve soğuk algınlığına bağlı burun tıkanıklığı ve burun akıntısı, aksırma, burun ve boğazda kaşıntı, baş ağrısı, adale ağrısı, boğaz ağrısı, vücut kırıklığı, ateş, nezle, gözlerde sulanma ve kaşıntı gibi durumlarda kullanılır.\n\n"+ 
       "^^Uyarılar/Önlemler: A-ferin forte tablet, sedasyona yol açabilir. Bu nedenle dikkat gerektiren makinalarda çalışanlarda, tehlikeli ve/veya yüksek yerlerde çalışanlarda veya vasıta kullananlarda kazaya neden olabileceğinden A-ferin forte tablet kullanımı sırasında bu gibi işler yapılmamalıdır."; 
String [] arr = test.split("\\^\\^"); 
for(String s : arr) { 
    System.out.println(s); 
} 

測試,輸出是

ilaç etkileşimleri: Antihistaminikler alkol ve antidepresanların etkilerinde artmaya yol açabilirken fenilpropanolamin'in b-adrenerjik blokerlerle beraber kullanılması. 


Endikasyonları: Grip ve soğuk algınlığına bağlı burun tıkanıklığı ve burun akıntısı, aksırma, burun ve boğazda kaşıntı, baş ağrısı, adale ağrısı, boğaz ağrısı, vücut kırıklığı, ateş, nezle, gözlerde sulanma ve kaşıntı gibi durumlarda kullanılır. 


Uyarılar/Önlemler: A-ferin forte tablet, sedasyona yol açabilir. Bu nedenle dikkat gerektiren makinalarda çalışanlarda, tehlikeli ve/veya yüksek yerlerde çalışanlarda veya vasıta kullananlarda kazaya neden olabileceğinden A-ferin forte tablet kullanımı sırasında bu gibi işler yapılmamalıdır. 
+0

同樣的錯誤我認爲它沒有再分裂 – user2638084

+0

在這種情況下,你能分享你的字符串被拆分嗎? – sanbhat

+0

我分享了其中的一部分 – user2638084