0

我正在开发一个使用 SQlite 的项目,并且我有很长的字符串来添加一列作为文本类型的数据,但它让我在 SQL 中接近“文本中的某处”语法错误。所以我尝试通过添加“^^”等特殊键来拆分字符串。所以我想要做的是,当它看到 ^^ 标记拆分字符串并添加到字符串数组中时,我会将这些数组转换为我的表中的列。这段代码让我知道出了什么问题它?(也欢迎任何将文本保持在列中而不分割的解决方案。)

MedText 是我要拆分的主要文本。它有一些部分就像

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 片剂,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.

(对不起非英语单词)

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

            }
4

1 回答 1

4

您需要使用代表正则表达式中行首的^原因\进行转义。见文档^

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.
于 2013-08-02T17:07:23.410 回答