首页 > 解决方案 > Normalize Text - 编写加密和解密文本的方法

问题描述

我正在处理以下任务:

编写一个名为 normalizeText() 的方法,它执行以下操作:

- 删除文本中的所有空格

- 删除任何标点符号(. , : ; ' ” !? ( ) )

- 将所有小写字母转为大写字母

-返回结果。

通话normalizeText("This is some \"really\" great. (Text)!?"

应该返回"THISISSOMEREALLYGREATTEXT"

这是我想出的:

import java.util.Scanner;

public class Crypto {

    public static void main(String[] args) {
        normalizeText();
    }

    public static String normalizeText() {
        Scanner input = new Scanner(System.in);
        System.out.println("Insert your Text : ");
        String crypto = input.next();

        crypto.replace("\\s", "");
        crypto.replaceAll("\\p{Punct}", "");
        crypto.toUpperCase();

        System.out.println(crypto);

        return crypto;
    }
}

对于我输入的每个句子,我只打印句子的第一个单词,没有进一步的字符串更改(插入您的文本:"asdfg asdf asd",返回"asdfg")。如您所见,我是初学者,并以提示的形式寻求帮助。

标签: java

解决方案


你需要使用nextLine()而不是next()方法,因为next方法只读取你句子的第一个单词,这就是你在输出中看到第一个单词的原因。您可以阅读此链接以获取更多信息。

String crypto = input.nextLine();

关于删除空格和标点符号的任务,我强烈建议您改用正则表达式


推荐阅读