Dyl*_*lan 13 java string io split newline
我需要将输入字符串拆分成许多部分.拆分应该出现在"\n"(字面意思是反斜杠-n,而不是换行符).我想转此:
x = [2,0,5,5]\ny = [0,2,4,4]\ndraw y #0000ff\ny = y & x\ndraw y #ff0000
Run Code Online (Sandbox Code Playgroud)
进入这个:
x = [2,0,5,5]
y = [0,2,4,4]
draw y #0000ff
y = y & x
draw y #ff0000
Run Code Online (Sandbox Code Playgroud)
我原本以为stringArray = string.split("\n");这就足够了.
但它在以下代码中给出了与输入相同的输出:
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter Input\n");
String s = br.readLine();
NewInterpreter interpreter = new NewInterpreter(s);
interpreter.run();
}
public NewInterpreter(String input) {
this.input = input;
this.index = 0;
this.inputComponents = input.split("\n");
System.out.println("Output: ");
for(String s : inputComponents)
System.out.println(s);
}
Run Code Online (Sandbox Code Playgroud)
Enter Input
x = [2,0,5,5]\ny = [0,2,4,4]\ndraw x #00ff00\ndraw y #0000ff\ny = y & x\ndraw y #ff0000"
Output:
x = [2,0,5,5]\ny = [0,2,4,4]\ndraw x #00ff00\ndraw y #0000ff\ny = y & x\ndraw y #ff0000
Run Code Online (Sandbox Code Playgroud)
非常感谢任何帮助,谢谢!
Rob*_*sen 17
如果您按\n字面输入(即与换行符相对),则需要按以下方式拆分:
string.split("\\\\n");
Run Code Online (Sandbox Code Playgroud)
复杂性的原因是split()将正则表达式作为参数.当尝试使用正则表达式匹配文字反斜杠时,需要对其进行双重转义(一次用于正则表达式,一次用于字符串文字).
| 归档时间: |
|
| 查看次数: |
1250 次 |
| 最近记录: |