java - 将前 5 个非空格字符替换为 *

标签 java substring joptionpane

我被要求将 JOptionPane 中输入的任何句子中的前 5 个字符替换为星号。所以我有这个...

import javax.swing.*;
public class Option {
    public static void main (String[] args) {
        String myName;
        myName= JOptionPane.showInputDialog("Input a sentence");
        System.out.println(myName.substring

我只是不知道如何用空格隔离任何句子中的前 5 个字符。对此的任何帮助或提示都会很棒

最佳答案

您可以使用正则表达式,如下所示:

myName = myName.replaceFirst(".{5}", "*****");

.{5} 是正则表达式,表示五个字符。

编辑:因为您需要区分空格:

String tmp;
int lastCharIndex;
while(int i < 5) {
    if (!Character.isWhiteSpace(string.charAt(i)) {
        tmp += *
        i++;
    } else {
        tmp += " ";
    }
    lastCharIndex++;
}
tmp += myName.substring(lastCharIndex);

关于java - 将前 5 个非空格字符替换为 *,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19691867/

相关文章:

java - JOptionPane 解析数组

java - 如何使用showMessage()方法?

java - 如何在java集合hashmap或hashset或arraylist中存储webtable?

java - 如何使用 JNI 或 JNA 读取窗口标题?

java - 在两个java图形之间绘制一条可移动的线

bash - 从字符位置开始的 bash 变量的子字符串

c++ - 子串换行

java - 我在使用 Dagger 2、Retrofit2 和 AndroidAnnotations 时收到以下错误

sql - SQL中两个字符定界符上的正则表达式子字符串

java - JOption 从字符串文本调用方法?