如何检查冒号的字符串并拆分以获取第一个索引(如果它有冒号)
How to check string for colon and split to get first index if it has colon
我有一个 String
可以是以下两种形式:
prefix:abcdefg
abcdefg
我需要检查我的字符串是否包含 :
,如果它包含 :
然后在冒号上拆分并获得第一个索引 abcdefg
但如果它不包含 :
然后按原样使用字符串 abcdefg
。所以我有下面的代码做同样的事情。
holder.getClientId().contains(":") ? holder.getClientId().split(":")[1] : holder.getClientId()
有没有更好的方法使用 Guava Splitter 或任何其他方法来完成上述操作?
假设 holder.getClientId()
不能为 null 或空字符串。
怎么样:
public static String getPartAfterColon(String text){
return text.substring(text.indexOf(':')+1);
}
演示:
System.out.println(getPartAfterColon("prefix:abcdefg")); //"abcdefg"
System.out.println(getPartAfterColon("abcdefg")); //"abcdefg"
System.out.println(getPartAfterColon("")); //""
System.out.println(getPartAfterColon(":")); //""
一种简单的方法是不使用 split
,而是从 :
(+ 1) 的第一个索引开始获取子字符串。
- 如果找不到冒号,
indexOf(':')
will return -1
and you can start the substring
在 0
。
- 如果找到冒号,它将 return 其
index
,您可以从 index + 1
开始忽略它。
示例代码为:
String partAfterDot = str.substring(str.indexOf(':') + 1);
我有一个 String
可以是以下两种形式:
prefix:abcdefg
abcdefg
我需要检查我的字符串是否包含 :
,如果它包含 :
然后在冒号上拆分并获得第一个索引 abcdefg
但如果它不包含 :
然后按原样使用字符串 abcdefg
。所以我有下面的代码做同样的事情。
holder.getClientId().contains(":") ? holder.getClientId().split(":")[1] : holder.getClientId()
有没有更好的方法使用 Guava Splitter 或任何其他方法来完成上述操作?
假设 holder.getClientId()
不能为 null 或空字符串。
怎么样:
public static String getPartAfterColon(String text){
return text.substring(text.indexOf(':')+1);
}
演示:
System.out.println(getPartAfterColon("prefix:abcdefg")); //"abcdefg"
System.out.println(getPartAfterColon("abcdefg")); //"abcdefg"
System.out.println(getPartAfterColon("")); //""
System.out.println(getPartAfterColon(":")); //""
一种简单的方法是不使用 split
,而是从 :
(+ 1) 的第一个索引开始获取子字符串。
- 如果找不到冒号,
indexOf(':')
will return-1
and you can start thesubstring
在0
。 - 如果找到冒号,它将 return 其
index
,您可以从index + 1
开始忽略它。
示例代码为:
String partAfterDot = str.substring(str.indexOf(':') + 1);