![](/img/trans.png)
[英]Regex to remove a character if followed by another character in java
[英]Java split using regex lookahead - character not followed by character
我需要將字符串拆分為減號,以便將其排序為帶引號而不是帶引號的內容。 單引號字符用作分隔符,兩個單引號表示轉義序列,表示不得將它們用於拆分。
例如:
"111 '222''22' 3333"
應拆分為
"111", "222''22", "3333"
無論有沒有空格。
因此,我編寫了以下代碼,但是它不起作用。 也嘗試使用"\\\\'(?<!\\\\')"
向后尋找,但沒有成功。 請幫忙
String rgxSplit="\\'(?!\\')";
String text="";
Scanner s=new Scanner(System.in);
System.out.println("\""+rgxSplit+"\"");
text=s.nextLine();
while(!text.equals(""))
{
String [] splitted=text.split(rgxSplit);
for(int i=0;i<splitted.length;i++)
{
if(i%2==0)
{
System.out.println("+" + splitted[i]);
}
else
{
System.out.println("-" + splitted[i]);
}
}
text=s.nextLine();
}
輸出:
$ java ParseTest
"\'(?!\')"
111 '222''22' 3333
+111
-222'
+22
- 3333
這應該在單引號上分開(如果未加倍),並且在連續三個的情況下,它將對前兩個進行分組,並在第三個上進行分割。
String [] splitted=text.split("(?<!') *' *(?!')|(?<='') *' *");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.