我一直在尝试用另一个String替换String的特定部分(空格字符数组)。
例如
String string1 = " ";
String string2 = "hello";
我想用“ hello”替换string1中的前5个字符。 谁能帮我? 如果我打印string1的长度,则应该打印原始长度string1而不是string2的长度。 我不要修剪的版本。
答案 0 :(得分:-1)
以下是一个可以解决您的问题的示例:
Hello
在此示例中,我们创建一个带有5个字符空格的空String,就像您在问题中所遇到的那样。然后,我们创建一个包含单词“ Hello”的字符串。我们可以创建一个CharArray []来将所有元素存储在字符串1中。由于我们要更改前5个索引,因此我们将运行一个循环,迭代5次。直到前5个索引被更改。在每次迭代中,我们将数组中该字符索引的值设置为字符串2中的字符索引值。循环完成后,我们将一个=设置为Char Array的String值。这是您的输出:
String one = " theDogCrossedTheRoad";
System.out.println("The length is: " + one.length());
此解决方案可以根据您的需求进行工作。例如,假设您更改了代码,而String如下所示:
System.out.println("The length is: " + one.length());
字符串一的输出长度为25。然后在代码执行后让我们测试String的长度:
The length is: 25
HellotheDogCrossedTheRoad
The length is: 25
输出仍然是25,因此代码不会修剪原始String的长度。它仅替换前5个字符。这是您的输出:
library(ggplot2)
library(dplyr)
library(reshape2)
df = data.frame(period = seq(as.POSIXct("2017-01-01"),as.POSIXct("2017-12-01"), by = "month"),
b = c(100, 110, 105, 200, 210, 190, 180, 170, 165, 175, 140, 145),
c = c(120, 130, 150, 170, 250, 160, 130, 120, 110, 130, 120, 170),
d = c(1060, 1180, 1050, 2070, 2150, 1900, 1850, 1070, 1605, 1750, 1460, 1250)) %>%
mutate(period = factor(period))
df_bar = melt(df, id.vars = "period", measure.vars = c("b", "c", "d")) %>% filter(variable != "d")
df_line = df %>% select(period, d)
ggplot(data = df_bar, aes(x = period, y = value, fill = variable)) +
geom_bar(stat = "identity", position = "dodge") +
theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
theme(axis.text=element_text(size=9),
axis.title=element_text(size=14,face="bold")) +
ylab("primary axis") +
geom_line(data = df_line, aes(x = period, y = (d)/10, group = 1), inherit.aes = FALSE) +
geom_point(data = df_line, aes(x = period, y = (d)/10, group = 1), inherit.aes = FALSE) +
scale_y_continuous(sec.axis = sec_axis(~.*10, name = "secondary axis"))
您可以看到其余的String仍然完好无损,唯一改变的是前5个字符。您仍然具有相同的字符长度,因此不会修剪您的代码。