简体   繁体   中英

Splitting String with split method

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);

            }

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM