删除部分字符串后的所有内容

Swe*_*now 34 java string android replace

我有一个由三部分组成的字符串.我希望字符串是(改变),分离部分(不改变)和最后改变的部分.我想删除分离部分和结束部分.分离部分是" - "所以我想知道的是,如果有一种方法可以在字符串的某个部分之后删除所有内容.

这种情况的一个例子是,如果我想把这个:"Stack Overflow - 一个问题的地方":"Stack Overflow".任何帮助表示赞赏!

ass*_*ias 55

例如,您可以这样做:

String result = input.split("-")[0];
Run Code Online (Sandbox Code Playgroud)

要么

String result = input.substring(0, input.indexOf("-"));
Run Code Online (Sandbox Code Playgroud)

(并添加相关的错误处理)


小智 16

apache commons StringUtils提供了substringBefore方法

StringUtils.substringBefore("Stack Overflow - A place to ask stuff", " - ")


Gib*_*olt 9

科特林解决方案

使用内置的 KotlinsubstringBefore函数(文档):

var string = "So much text - no - more"
string = string.substringBefore(" - ") // "So much text"
Run Code Online (Sandbox Code Playgroud)

它还有一个可选的第二个参数,它是未找到分隔符时的返回值。默认值是原始字符串

string.substringBefore(" - ", "fail")  // "So much text"
string.substringBefore(" -- ", "fail") // "fail"
string.substringBefore(" -- ")         // "So much text - no - more"
Run Code Online (Sandbox Code Playgroud)


sle*_*dav 6

你可以用这个

String mysourcestring = "developer is - development";
String substring = mysourcestring.substring(0,mysourcestring.indexOf("-"));
Run Code Online (Sandbox Code Playgroud)

会写成“开发商是-”