正则表达式替换特定符号后的所有内容?JAVA
我有一个类似“1/2/3”格式的字符串,我只需要第一个(在第一个前斜杠之前)。我是这样试的:正则表达式替换特定符号后的所有内容?JAVA,java,regex,replace,Java,Regex,Replace,我有一个类似“1/2/3”格式的字符串,我只需要第一个(在第一个前斜杠之前)。我是这样试的: if (text.contains("/")) { int i = text.indexOf("/"); return text.subSequence(0, i).toString(); } 这个解决方案可行,但我认为最好编写简单的text.replace()函数。 尝试使用此正则表达式,但无效。replace不使用正则表达式作为参数,只尝试替换传递的字符序列
if (text.contains("/")) {
int i = text.indexOf("/");
return text.subSequence(0, i).toString();
}
这个解决方案可行,但我认为最好编写简单的text.replace()
函数。
尝试使用此正则表达式,但无效。
replace
不使用正则表达式作为参数,只尝试替换传递的字符序列
您可以使用replaceFirst
:
return text.replaceFirst("/.*", "");
(请注意,无需转义,也无需分组)您可以尝试下面的代码,它将在第一个斜杠后替换
text.replaceAll("\\/[^\\/].*", "")
在这种情况下,“替换”将不起作用。请使用此选项
return text.replaceAll("/.", "");
您是否尝试过像这样拆分
/
?文本。拆分(“/”[0]代码>为什么要替换?为什么要使用子序列
而不是子字符串
,而不使用toString()
?是的,在/
上拆分,然后使用索引和子字符串再次连接第二部分和第三部分很好(但很麻烦)。但是拆分
?这只是一个懒惰的黑客。