简体   繁体   English

用split方法分割字符串

[英]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. 我正在一个使用SQlite的项目中工作,并且我已经很长的String要将一列添加为Text类型的数据,但是它使我在SQL中遇到“ textwhere in text”语法错误。 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. MedText是我要拆分的主要文本。 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ı. 预防措施:抗组胺醇和抗depresanlarınetkilerinde artmaya yolaçabilirkenfenilpropanolamin'in b-adrenerjik blokerlerle beraberkullanı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. ^^Endikasyonları:抓已经控的algınlığına巴格利buruntıkanıklığı已经burunakıntısı,aksırma,burun已经boğazdakaşıntı,BASağrısı,adaleağ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 yol açabilir. ^^Uyarılar/Önlemler:A-ferin forte片剂,sedasyona yol acaabilir。 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. Bu nedenle dikkat gerektiren makinalardaçalışanlarda,tehlikeli ve / veyayüksekyerlerdeçalışanlardaveyavasıtakullananlarda kazaya nedenolabileceğindenA-ferindı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.

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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