Java 使用正则表达式拆分钻取文件
我这里有个文件,是垃圾堆Java 使用正则表达式拆分钻取文件,java,regex,Java,Regex,我这里有个文件,是垃圾堆 T01 X064900Y049200 X065900 X066900 X067900 X068900 X069900 T02 X062900Y048200 Y049200 Y050200 Y053700 X063900 X064900 X065900 X046350 我想用T*分割它的内容,使用 Java正则表达式 在这里,我将文件内容读入字符串部分 然后String[]tools=parts.split(“T\\d+”); 但是它不起作用,最好使用什么正则表达
T01
X064900Y049200
X065900
X066900
X067900
X068900
X069900
T02
X062900Y048200
Y049200
Y050200
Y053700
X063900
X064900
X065900
X046350
我想用T*分割它的内容,使用
Java正则表达式
在这里,我将文件内容读入字符串部分
然后String[]tools=parts.split(“T\\d+”);
但是它不起作用,最好使用什么正则表达式。在字母“t”处拆分。换行符可以防止第一行被拆分
String[] tools=parts.split("\n(?=T)");
即使不使用
split
方法也可以完成,但使用捕获组:
这是正则表达式:
(?这是您的解决方案。我假设您需要以字母“T”开头的单独字符串
package com.sujit;
import java.util.regex.Pattern;
public class Testt {
public static void main(String[] args)
{
String txt="T01X064900Y049200X065900X066900X067900X068900X069900T02X062900Y048200Y049200Y050200Y053700X063900X064900X065900X046350";
Pattern ptn = Pattern.compile("T");
String[] parts = ptn.split(txt);
for(String p:parts){
if(!p.isEmpty()){
System.out.println("T"+p);
}
}
}
}
输出:
T01X064900Y049200X065900X066900X067900X068900X069900
T02X062900Y048200Y049200Y050200Y053700X063900X064900X065900X046350每个X
术语都在一行中,由某种类型的换行符分隔吗?您的预期输出是什么?您需要根据所需内容之间的间距进行拆分。我想您的意思是拆分(“T\\d+”)
使用两个反斜杠\\而不是两个斜杠拆分((?=T\\d)”)
应该可以正常工作。