Java 检索特定字符后的子字符串
我需要获取字符串中Java 检索特定字符后的子字符串,java,kotlin,Java,Kotlin,我需要获取字符串中-字符后的文本 例如, 我有一条短信,说“John Doe的名字”。 我想得到文本“约翰·多伊” 最好的方法是什么?在Java中,可以使用String.indexOf(Char)方法查找分隔符的索引,然后在String.substring(Int)方法中使用它来获取所需的子字符串。像这样: String getRequiredText(String text) { int delimiterIndex = text.indexOf('-'); return te
-
字符后的文本
例如,我有一条短信,说“John Doe的名字”。
我想得到文本“约翰·多伊”
最好的方法是什么?在Java中,可以使用
String.indexOf(Char)
方法查找分隔符的索引,然后在String.substring(Int)
方法中使用它来获取所需的子字符串。像这样:
String getRequiredText(String text) {
int delimiterIndex = text.indexOf('-');
return text.substring(delimiterIndex + 1);
}
在Kotlin中,可以使用String.substringAfter(Char)
扩展函数。像这样:
String getRequiredText(String text) {
int delimiterIndex = text.indexOf('-');
return text.substring(delimiterIndex + 1);
}
fun getRequiredText(text:String)=text.substringAfter('-'))
或
fun String.getRequiredText()=子字符串('-')之后
首先您需要编写一些代码我已经更新了问题@Reimeusreplace(“.*-”,”)
不起作用,因为replace()
是一个简单的文本替换。要使用正则表达式,您需要调用replaceAll()
或replaceFirst()
,这很好,例如“blah blah-stack overflow”。replaceFirst(“.-”,”)
返回“stack overflow”
(注意前面的空格)。@Andreas在我提出问题之前,我做了研究,找到了replaceAll,但是我不知道它是否在kotlin上,我不能用它,我不知道为什么。这就是我问这个问题的原因;然后忽略第一个元素,并在空格上拆分以获得字符串[1]的单词。谢谢,伙计,这正是我想要的