【问题标题】:Java: ArrayIndexOutOfBounds when accessing String array [duplicate]Java:访问字符串数组时的ArrayIndexOutOfBounds [重复]
【发布时间】:2018-10-26 14:51:49
【问题描述】:

我有一个带有 3 个文本字段和一个按钮的 Jframe,当我按下按钮时,程序会将文本字段的值存储在字符串中并根据模式检查它们,这是代码的相关部分:

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'

感谢您的帮助

【问题讨论】:

    标签: java arrays string


    【解决方案1】:

    String.split 带有正则表达式的单词,而. 在正则表达式中表示any character,您应该使用两个反斜杠对其进行转义。一个用于编译,一个用于正则表达式。

    String [] splitFile= file.split("\\.");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-15
      • 1970-01-01
      • 2011-09-24
      相关资源
      最近更新 更多