我想创建一个名为trim的方法。 输入字符串。 获取字符串并删除除A-Z和a-z以及0-9之外的所有字符。 例如:
String Trim("a(9d%z)");
输出:
a9dz
这是我写的代码:
void Trimming(String arg1){
String resource = "0123456789abcdefghijklmnopqrstvwxyzABCDEFGHIJKLMNOQRSTYZ";
StringBuilder b = new StringBuilder(arg1);
for (int i = 0; i<arg1.length() ; i++) {
for (int j =0;j< resource.length();j++){
if(arg1.charAt(i) != resource.charAt(j) ){
b.deleteCharAt(j);
}
}
}
}
使用我的方法:
r.Trimming( “0%ASD”);
但问题出现了:
java.lang.StringIndexOutOfBoundsException: String index out of range: 3
at java.lang.AbstractStringBuilder.deleteCharAt(AbstractStringBuilder.java:797)
at java.lang.StringBuilder.deleteCharAt(StringBuilder.java:253)
at Reshte.Trimming(Reshte.java:67)
at Reshte.main(Reshte.java:93)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)