2013-08-02 223 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