从字符串中排除特殊字符 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]", "");
我是 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]", "");