gpt4 book ai didi

java - 使用java中的方法从字符串中删除字符

转载 作者:行者123 更新时间:2023-12-01 17:48:31 25 4
gpt4 key购买 nike

我正在尝试编写一个方法来接受字符串作为参数并从中删除所有空格和标点符号,所以这是我的想法......

    import java.util.*;
public class Crypto {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("Please insert the text you wish to encrypt: ");
String text = input.nextLine();
text = normalizeText(text);
System.out.println(text);
}

public static String normalizeText(String s){
s.replace(" ","");
s.replace("(","");s.replace(")","");s.replace(".","");
s.replace(",","");s.replace("?","");s.replace("!","");
s.replace(":","");s.replace("'","");s.replace("\"","");
s.replace(";","");

s.toUpperCase();
return s;



}
}

现在,我只添加了 text = normalize Text(text);然后打印它,因为没有它它不会将其打印到屏幕上(即使在某些方法中返回实际上会在屏幕上显示输出)无论如何,即使这个更改也没有帮助,因为它不会从打印出完全相同的字符串的方法所获取的字符串中删除任何内容..有任何帮助吗?提前致谢 。 :)

最佳答案

代码中的问题是,您没有分配回 s.replace(":",""); 之后生成的新字符串;请记住,字符串是不可变的,因此通过替换方法进行的更改将不适用于您调用该方法的字符串对象。

你应该写,

s = s.replace(":", "")

您可以像这样编写方法,而不是乏味的方法 normalizeText,

public static String normalizeText(String s){
return s.replaceAll("[ ().,?!:'\";]", "").toUpperCase();
}

关于java - 使用java中的方法从字符串中删除字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52794680/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com