首页 / JAVA / java-从字符串中删除选择字符
java-从字符串中删除选择字符
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-从字符串中删除选择字符,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1648字,纯文字阅读大概需要3分钟。
内容图文
![java-从字符串中删除选择字符](/upload/InfoBanner/zyjiaocheng/677/b21f3b4b9c8b495d8fec946bb8d3d1ef.jpg)
我是一个试图解决问题的学生.
我需要创建一个方法来从另一个字符串中删除在指定字符串中找到的所有字符.
因此,如果String str =“ hello world”和String remove =“ eo”
该方法将返回“ hll wrld”.
我的解决方案设置方式将结果字符串打印出来很多次,这是我不希望的.有没有简单的解决方法,还是我需要重新设计方法?
class StringStuff{
public static void main (String [] args){
String str = "This is a string that needs to be changed";
String remove = "iaoe";
System.out.println(removeChars(str, remove));
}
public static String removeChars(String str, String remove){
String newStr = "";
for(int i=0;i<remove.length();i++){
for(int j=0; j<str.length(); j++){
if(str.charAt(j)!=remove.charAt(i)){
newStr = newStr+str.charAt(j);
}
}
}
return newStr;
}
}
更新
感谢您的答复,我发现了另一种受您提供的解决方案启发的“新手”方式.
public static String removeChar(String str, String remove){
String newStr = "";
boolean match = false;
for(int i = 0; i<str.length(); i++){
for(int j=0; j<remove.length(); j++){
if(str.charAt(i) == remove.charAt(j))
match = true;
}
if(match == false)
newStr = newStr + str.charAt(i);
match = false;
}
return newStr;
}
解决方法:
该答案假定不允许使用replaceXXX方法.
首先,for循环是错误的方法.第一个循环需要遍历原始String.
下一个问题是,如果字符不匹配,则嵌套的for循环会将一个字符附加到删除字符串的每个字符的新字符串中.这会产生hllo worldhell wrld.
因此,解决方案是不要遍历remove String. indexOf用于字符检查.
public static String removeChars(String str, String remove) {
String newStr = "";
for (int i = 0; i < str.length(); i++) {
if (remove.indexOf(str.charAt(i)) == -1) {
newStr = newStr + str.charAt(i);
}
}
return newStr;
}
通过使用StringBuilder而不是String作为newStr可以进行进一步的改进.
内容总结
以上是互联网集市为您收集整理的java-从字符串中删除选择字符全部内容,希望文章能够帮你解决java-从字符串中删除选择字符所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。