Java 如何拆分包含相同模式的字符串
我在java中拆分字符串时遇到问题。我有Java 如何拆分包含相同模式的字符串,java,android,regex,string,Java,Android,Regex,String,我在java中拆分字符串时遇到问题。我有 String test="if x=7 else if x=6 else if x>5 else" String leftPart ="if" String rightPart="else" 大家知道如何从if到else拆分,并添加数组列表或字符串数组x=7、x=6和x>5 事实上,我想这样做 ArrayList<String>ValueArray = new ArrayList<String>(); Value
String test="if x=7 else if x=6 else if x>5 else"
String leftPart ="if"
String rightPart="else"
大家知道如何从if到else拆分,并添加数组列表或字符串数组x=7、x=6和x>5
事实上,我想这样做
ArrayList<String>ValueArray = new ArrayList<String>();
ValueArray =[x=7,x=6,x>5];
ArrayListValueArray=new ArrayList();
ValueArray=[x=7,x=6,x>5];
试试这个
ArrayList<String> list_array = new ArrayList<String>();
String[] string_array = test.split("else");
for(int i = 0; i < string_array.length; i++){
list_array.add((string_array[i].replace("if ","")).trim());
}
ArrayList list_array=new ArrayList();
String[]String_array=test.split(“else”);
for(int i=0;i
试试这个
ArrayList<String> list_array = new ArrayList<String>();
String[] string_array = test.split("else");
for(int i = 0; i < string_array.length; i++){
list_array.add((string_array[i].replace("if ","")).trim());
}
ArrayList list_array=new ArrayList();
String[]String_array=test.split(“else”);
for(int i=0;i
我不太明白你的问题。但是,无论您试图做什么,都可以通过使用带规则表达式的split和零宽度正向前瞻来完成。例如:
String test="if x=7 else if x=6 else if x>5 else";
String[] pieces = test.split("(?=else)");
for(int i =0; i< pieces.length; i++){
System.out.println(pieces[i]);
}
语法:split((?=您希望使用的内容) 我不太明白你的问题。但是,无论您试图做什么,都可以通过使用带规则表达式的split和零宽度正向前瞻来完成。例如:
String test="if x=7 else if x=6 else if x>5 else";
String[] pieces = test.split("(?=else)");
for(int i =0; i< pieces.length; i++){
System.out.println(pieces[i]);
}
语法:split((?=您希望使用的内容) 您可以使用此
字符串#split
:
String[] tokens = test.split( "\\s*(?:if|else)\\s*" );
PS:您将在输出数组中得到必须丢弃的空字符串。您可以使用此
String#split
:
String[] tokens = test.split( "\\s*(?:if|else)\\s*" );
PS:您将在输出数组中得到必须丢弃的空字符串。这里是另一个使用
String#replaceAll
和String#split
String s = "if x=7 else if x=6 else if x>5 else";
String[] parts = s.replaceAll("\\s*(?:if|else)\\s*", "").split("(?<=\\d)");
System.out.println(Arrays.toString(parts));
下面是另一个使用
String#replaceAll
和String#split
String s = "if x=7 else if x=6 else if x>5 else";
String[] parts = s.replaceAll("\\s*(?:if|else)\\s*", "").split("(?<=\\d)");
System.out.println(Arrays.toString(parts));
@我很高兴这有帮助。快乐的编码。@PrAndroid很高兴这有帮助。愉快的编码。是的,这就是确切的答案,我添加了删除空白:split(\\sw*(?:IF | ELSE)\\sw*)。非常感谢。是的,这是确切的答案,我添加了删除空白:split(\\sw*(?:IF | ELSE)\\sw*)。多谢。