如何解决如何使用特定的开始和结束分隔符拆分字符串?
公共类测试{
public static void main(String[] args) {
String str = "My CID is #encode2#123456789#encode2# I am from India";
String[] tokens = str.split("#encode2#");
for (int i = 0; i < tokens.length; i++) {
// prints the tokens
System.out.println(tokens[i]);
}
}
}
输出将是 我的客户 ID 是 123456789 我来自印度
但我只想要整个字符串中的 123456789,我想使用那个 123456789 数字进行加密。
我也使用 if(!"#encode2#".equals(text)) 条件,但仍然没有得到输出。
如何写条件如需要从#encode2#右边部分开始并在#encode2#之前结束。
解决方法
使用 String 的 indexOf
和 lastIndexOf
方法查找两个 #encode2#
子字符串开始的索引。然后,使用 substring
获取这两个索引之间的字符串。
String str = "My CID is #encode2#123456789#encode2# I am from India";
String substring = "#encode2#";
int firstIdx = str.indexOf(substring);
int secondIdx = str.lastIndexOf(substring);
System.out.println(str.substring(firstIdx + substring.length(),secondIdx)); //123456789
,
public String getToken() {
String str = "My CID is #encode2#123456789#encode2# I am from India";
int start = str.indexOf("#encode2#") + "#encode2#".length();
int end = str.lastIndexOf("#encode2#");
return str.substring(start,end);
}
注意:此方法仅在您的字符串值中有两次“#encode2#”时有效。如果您需要多个令牌实例,这将不起作用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。