【问题标题】:How can I replace specific part of String with another string in java?java - 如何用java中的另一个字符串替换String的特定部分?
【发布时间】:2018-07-21 12:51:34
【问题描述】:

我一直在尝试用另一个字符串替换字符串的特定部分(空格字符数组)。

举例

String string1 = "          ";
String string2 = "hello";

我想将 string1 中的前 5 个字符替换为“hello”。 谁能帮我? 如果我打印 string1 的长度,它应该打印原始长度 string1 而不是 string2 的长度。 我不想要精简版。

【问题讨论】:

  • @user7 它们是以前的问题标签,已编辑。
  • 你读过String类的javadoc吗?它有一个 substring() 方法。阅读 javadoc,然后尝试一下。
  • @JB Nizet subString 不符合我的要求。
  • String result = string2 + string1.substring(5) 是做你想做的事的方法之一。怎么不符合你的要求?
  • 如果通过@JBNizet 示例无法达到您的要求,那就没有什么可做的了。除了一些人工智能,你的目标是无法解决的。好的,现在让我们严肃点:你能解释一下你的问题吗?也许还有其他几个输入/所需输出的例子?

标签: java string stringbuffer


【解决方案1】:

这是一个可以解决您的问题的示例:

String one = "    ";
String two = "Hello";
char[] strArray = one.toCharArray();

for(int x = 0; x < 5; x++) {
    strArray[x] = two.charAt(x);
    }
one = String.valueOf(strArray);
System.out.print(one);

在此示例中,我们创建一个包含 5 个字符空格的空字符串,就像您的问题一样。然后我们创建一个包含单词“Hello”的字符串。我们可以创建一个 CharArray[],它将所有元素存储在 String one 中。由于我们要更改前 5 个索引,我们将运行一个迭代 5 次的循环。直到前 5 个索引被更改。在每次迭代中,我们将数组中该字符索引的值设置为字符串 2 中字符索引的值。循环完成后,我们将一个 = 设置为 Char 数组的字符串值。这是你的输出:

Hello

此解决方案符合您的要求。例如,假设您更改了代码,字符串一看起来像这样:

String one = "     theDogCrossedTheRoad";
System.out.println("The length is: " + one.length());

字符串 1 的输出长度为 25。然后让我们在代码执行后测试String 1的长度:

System.out.println("The length is: " + one.length());

输出仍然是 25,因此代码不会修剪原始字符串的长度。它只是替换前 5 个字符。这是你的输出:

The length is: 25
HellotheDogCrossedTheRoad
The length is: 25

正如您所看到的,其余的 String 仍然完好无损,唯一改变的是前 5 个字符。您仍然具有相同的字符长度,因此您的代码不会被修剪。

【讨论】:

  • 他/她只想替换前 5 个字符。不是整个字符串或空字符串(如果存在)。 StringBuilder 是提供他/她想要的更好的选择。
  • 这个例子只替换了前 5 个字符,Hello 是 5 个字符长。这符合本示例的标准。
  • @SimeonIkudabo 谢谢,但这对我没用..我想替换字符串的特定部分..
  • @SimeonIkudabo ..无论如何,我的问题并没有解决这个 sinppet String result = string2 + string1.substring(5);
  • @SimeonIkudabo 在我的情况下 string1 包含空格字符。你的情况是空的。请再次参考我的问题,它已被编辑。
猜你喜欢
  • 2016-06-23
  • 1970-01-01
  • 2016-11-20
  • 1970-01-01
  • 2021-11-05
  • 2022-12-28
  • 1970-01-01
  • 2018-10-16
  • 2019-09-26
相关资源
最近更新 更多