Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正则表达式替换特定符号后的所有内容?JAVA_Java_Regex_Replace - Fatal编程技术网

正则表达式替换特定符号后的所有内容?JAVA

正则表达式替换特定符号后的所有内容?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不使用正则表达式作为参数,只尝试替换传递的字符序列

我有一个类似“1/2/3”格式的字符串,我只需要第一个(在第一个前斜杠之前)。我是这样试的:

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()
?是的,在
/
上拆分,然后使用索引和子字符串再次连接第二部分和第三部分很好(但很麻烦)。但是
拆分
?这只是一个懒惰的黑客。