我怎样才能从字符串中获得几个字符?
问题描述:
我想从字符串中检索几个字符,即基于字符串中使用的第一个冒号(:)的字符串数据。该字符串数据的可能性是,我怎样才能从字符串中获得几个字符?
String data = "smsto:....."
String data = "MECARD:....."
String data = "geo:....."
String data = "tel:....."
String data = "MATMSG:....."
我想打一个通用的字符串可以说,
String type = "characters up to first colon"
所以我没有创建字符串类型,每一种可能性,我可以根据呼叫意图类型
答
看起来你想要一个uri的方案。您可以使用Uri.parse(data).getScheme()
。这将返回smsto, MECARD, geo, tel
等等
退房的开发者网站:http://developer.android.com/reference/android/net/Uri.html#getScheme()
答
注意:@Alessandro的方法可能更有效。我刚刚从头顶上取下那一个。
你可以用它来获取字符,直到达到第一个“:”:
String[] parts = data.split(":");
String beforeColon = parts[0];
// do whatever with beforeColon
但我没有看到你的目的是什么,这将有助于给你一个更好的解决方案。
答
您应该使用方法indexOf
- 以此您可以得到某个char
的索引。然后,您从该索引开始检索子字符串。例如:
int index = string.indexOf(':');
String substring = string.substring(index + 1);
截至第一个冒号!所以使用重载的string.substring(0,index); – ne1410s 2014-09-10 12:39:55