我有一个带有3个textFields和一个按钮的Jframe,当我按下按钮时,程序会在字符串中存储textFields的值并根据模式检查它们,这里是代码的相关部分:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
Pattern pat = null;
Matcher mat = null;
String file = jTextField3.getText();
pat = Pattern.compile("[a-zA-Z0-9]{1,8}");
if(file.contains(".")){
String [] splitFile= file.split(".");
String fileName = splitFile[0];
mat = pat.matcher(fileName);
}
else{
mat = pat.matcher(file);
}
}
我在String fileName = splitFile[0]
上获得了一个ArrayIndexOutOfBounds:0,jTextField的名称是正确的,并且该字段不为空,当我遇到此异常时,我尝试使用'test.txt'
感谢您的帮助
答案 0 :(得分:1)
String.split
个单词,而.
在正则表达式中表示any character
,您应该使用两个反斜杠来转义它。一个用于编译,一个用于正则表达式。
String [] splitFile= file.split("\\.");