例如,我有一个这样的文件:
INT f2(INT x, INT y )
BEGIN
z := x*x - y*y;
RETURN z;
END
INT MAIN f1()
BEGIN
INT x;
READ(x, "A41.input");
INT y;
READ(y, "A42.input");
INT z;
z := f2(x,y) + f2(y,x);
WRITE (z, "A4.output");
END
我使用以下方式打开文件:
FileInputStream fstream = new FileInputStream("A1input.txt");
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
然后为了按字符分割每一行;或=我这样做了:
String[] SplitString = strLine.split("[\\s\\W]");
我想知道是否有办法使用正则表达式删除引号之间的单词(例如“A41.input”),这样我就可以在进行拆分之前一起忽略这些单词
答案 0 :(得分:0)
因为它仍然是开放的,有两种可能性(多种可能性)
"\b.*?\b\W*\b.*?\b"
".*?"
在java中转义反斜杠和双引号:
String str = "READ(y, \"A42.input\");";
System.out.println(str);
String replacedFirst = str.replaceAll("\".*?\"", "\"\"");
String replacedSecond = str.replaceAll("\"\\b.*?\\b\\W*\\b.*?\\b\"","\"\"");
System.out.println(replacedFirst);
System.out.println(replacedSecond);