Reputation: 301
i was working on a project that uses SQlite and I 've very long String to add a column as a Text typed data but it gave me near "somewhere in text" syntax error in SQL. So i tried to split string by adding special keys like "^^". So what i want to do is that when it sees that ^^ marks split the string and add into a string array than i will turn these arrays into columns in my table.This code gives me out of bound exception any idea what is wrong with it? (Any solutions with keeping the text in columns without dividing is also welcomed.)
MedText is my main text which i want to split. and it has some parts that is like
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.
(sorry for non English words)
ArrayList<String> abc=new ArrayList<String>();
for (String Ex : MedText.split("^^")) {
abc.add(Ex);
}
Upvotes: 0
Views: 202
Reputation: 17622
You need to escape ^
with \
cause ^
represents beginning of line in regex. See documention
MedText.split("\\^\\^");
And here is the test on your string
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);
}
and the output is
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.
Upvotes: 4