我想替换下面代码中第一次出现的字符串。
String test = "see Comments, this is for some test, help us"
**如果测试包含以下输入,则不应替换
1.参见备注,(结尾处留有空格)1.见评论,1.参见备注**我想得到如下的输出,
Output: this is for some test, help us
laawzig21#
可以使用字符串的replaceFirst(String regex, String replacement)方法。
replaceFirst(String regex, String replacement)
n3schb8v2#
您应该使用已经过测试且文档记录良好的库,以利于编写自己的代码。
org.apache.commons.lang3. StringUtils.replaceOnce("coast-to-coast", "coast", "") = "-to-coast"
甚至还有一个不区分大小写的版本(这很好)。
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.7</version> </dependency>
我的回答是以下内容的扩充:https://stackoverflow.com/a/10861856/714112
2j4z5cfb3#
可以使用以下语句将第一次出现的文字字符串替换为另一个文字字符串:
String result = input.replaceFirst(Pattern.quote(search), Matcher.quoteReplacement(replace));
然而,这在后台做了大量的工作,而对于替换文字字符串的专用函数来说,这些工作是不需要的。
gc0ot86w4#
使用substring(int beginIndex):
substring(int beginIndex)
String test = "see Comments, this is for some test, help us"; String newString = test.substring(test.indexOf(",") + 2); System.out.println(newString);
这是为了测试,帮帮我们
lnxxn5zx5#
您可以使用以下方法。
public static String replaceFirstOccurrenceOfString(String inputString, String stringToReplace, String stringToReplaceWith) { int length = stringToReplace.length(); int inputLength = inputString.length(); int startingIndexofTheStringToReplace = inputString.indexOf(stringToReplace); String finalString = inputString.substring(0, startingIndexofTheStringToReplace) + stringToReplaceWith + inputString.substring(startingIndexofTheStringToReplace + length, inputLength); return finalString; }
下面的link提供了使用带正则表达式和不带正则表达式替换第一个出现的字符串的示例。
xiozqbni6#
使用String replaceFirst将分隔符的第一个示例交换为唯一的内容:
String input = "this=that=theother" String[] arr = input.replaceFirst("=", "==").split('==',-1); String key = arr[0]; String value = arr[1]; System.out.println(key + " = " + value);
jmo0nnb37#
您也可以在node.js中使用此方法;
public static String replaceFirstOccurance(String str, String chr, String replacement){ String[] temp = str.split(chr, 2); return temp[0] + replacement + temp[1]; }
7条答案
按热度按时间laawzig21#
可以使用字符串的
replaceFirst(String regex, String replacement)
方法。n3schb8v2#
您应该使用已经过测试且文档记录良好的库,以利于编写自己的代码。
Javadoc
甚至还有一个不区分大小写的版本(这很好)。
美芬
学分
我的回答是以下内容的扩充:https://stackoverflow.com/a/10861856/714112
2j4z5cfb3#
可以使用以下语句将第一次出现的文字字符串替换为另一个文字字符串:
然而,这在后台做了大量的工作,而对于替换文字字符串的专用函数来说,这些工作是不需要的。
gc0ot86w4#
使用
substring(int beginIndex)
:这是为了测试,帮帮我们
lnxxn5zx5#
您可以使用以下方法。
下面的link提供了使用带正则表达式和不带正则表达式替换第一个出现的字符串的示例。
xiozqbni6#
使用String replaceFirst将分隔符的第一个示例交换为唯一的内容:
jmo0nnb37#
您也可以在node.js中使用此方法;