我需要根据索引将花括号放在句子中。假设我的输入句子是:"I am a girl and I live in Nepal."
,我需要根据
[12, 15], [2, 4], [23, 25]
这些索引分别对应于单词"am"
,"and"
和"in"
。
所需的输出应为:
"I {am} a girl {and} I live {in} Nepal."
我尝试过使用substring
,但在替换第一个单词后,它会将字符移动两个索引,这就是我遇到的问题。
有人能为我提供获得所需输出的解决方案吗?
答案 0 :(得分:1)
我认为简单String.substring
对于带有String.replace
的索引应该有效。
以下是其中一个索引的代码 - [2, 4]
: -
String str = "I am a girl and I live in Nepal.";
String str2 = str.replace(str.substring(2, 4), "{" + str.substring(2, 4) + "}");
System.out.println(str2); // str is not changed.
输出: -
I {am} a girl and I live in Nepal.
如果您不知道索引,但只有单词,那么您可以使用String.indexOf
方法找到它。
这是更好的解决方案: -
String str = "I am a girl and I live in Nepal.";
int startIndex = str.indexOf("am");
int endIndex = startIndex + "am".length();
str = str.replace(str.substring(startIndex, endIndex),
"{" + str.substring(startIndex, endIndex) + "}");
System.out.println(str);
答案 1 :(得分:1)
我会:
以上内容不会修改原始字符串(或者更改为您正在使用的字符串)。它从原始字符char-by-char构建一个新字符串。
答案 2 :(得分:0)
StringBuilder