Java 我(再一次)绞尽脑汁想知道如何用子字符串替换字符串中的字符

Java 我(再一次)绞尽脑汁想知道如何用子字符串替换字符串中的字符,java,joptionpane,Java,Joptionpane,我又在苦苦思索如何用子字符串替换字符串中的字符。 所以我要做的是将一个句子输入到JOptionPane中,然后使用子字符串将该句子的第一个单词替换为星号。到目前为止,我有这个 import javax.swing.*; public class Alternate { public static void main (String[] args) { String myName; myName=JOptionPane.showInputDialog("Input a se

我又在苦苦思索如何用子字符串替换字符串中的字符。 所以我要做的是将一个句子输入到JOptionPane中,然后使用子字符串将该句子的第一个单词替换为星号。到目前为止,我有这个

import javax.swing.*;
public class Alternate
{
public static void main (String[] args)

   {
     String myName;
   myName=JOptionPane.showInputDialog("Input a sentence");
   String ast= "**********";
   String words= myName.indexOf(" ");

我知道你可以在那里使用indexOf,我只是不能把这些部分放在一起,任何帮助都会非常感谢。

给你的一些提示开始吧,我不会概述完整的解决方案

对indexOf的调用返回第一个空间的索引。据推测,第一个单词是该索引之前字符串的唯一部分。你会如何利用这个电话来解决这个问题

计算出第一个单词的长度 获取从第一个空格开始的子字符串。 一旦您了解了这些步骤,您就完成了大部分工作。

用法:用给定的替换项替换此字符串中与给定正则表达式匹配的第一个子字符串。一句话,答案是:\\w+

输出:


您有哪些输出?您的代码不完整,完成后的代码,您得到的输出是什么,您期望的字符串是不可变的,您不能替换内联中的任何内容。您必须创建新的字符串对象或调用.replaceFirst之类的函数,它返回一个新的字符串对象。
String str = "aWord bWord";     
System.out.println(str.replaceFirst("\\w+", "*****"));
***** bWord