从字符串中排除特殊字符 Java

Exclude Special Characters from String Java

我是 Java 的新手,我正在为学校编写一些加密、解密工具,我想问问我如何才能 从中排除特殊字符,我已经尝试过 "contains" 之类的方法,但我并没有真正工作。我的代码如下所示:


public void bEncode_ActionPerformed(ActionEvent evt) {
    String Input = jTextField1.getText();
    String Output = "";
    String Specialcharacters = "!§$%&/()=?.,-_+*:;";
    jTextField2.setText("Encoding...");
    char c;
    int Number = (Integer) jSpinner1Model.getNumber();
    int asc;
    for (int i = 0; i < Input.length(); i++) {
      if(!Input.contains(Specialcharacters){  
      c = Input.charAt(i);
      asc = (int) c;
      asc = asc + Number;
      if (asc>90) asc = asc-26;
      Output = Output + (char) asc;
      } else {

      }  
    }
    jTextField2.setText(Output);

  }

有什么方法可以使它正常工作吗?

使用正则表达式。例如,以下行将仅从给定的字符串中获取字母和数字。

String onlyLettersAndNumbers = s.replaceAll("[^0-9A-Za-z]", "");