繁体   English   中英

如何隔离String的组件?

[英]How to isolate a component of a String?

我有一个返回String的方法。 称为contact字符串由多个较小的字符串组成。 那些较小的字符串是该方法的参数。

例如:

String contact = id + " " + name + " " + telNum;
return contact;

现在我有另一种方法,它将contact作为参数但需要返回ONLY名称。

所以我的问题是如何从整个字符串联系人中隔离出较小的字符串name

使用

String[] splits = contact.split(" ");
String name = splits[1];

Viswanath的答案显示了如何使用字符串函数从字符串中检索名称。

作为替代方案,您可以考虑创建一个包含信息的Contact类:

 public class Contact {
     public String id;
     public String name;
     public String tel;

     public String toString() { return id + " " + name + " " + telNum; }
 }

然后传递一个Contact对象而不是代表联系人的字符串。

如果id和telNum是两个整数/长值,你可以做类似的事情

int startIndex = contact.indexOf(" ");
int endIndex = contact.lastIndexOf(" ");
String name = contact.substring(startIndex, endIndex).trim();

如果你的字符串有分隔符,比如逗号,应该会更容易。

Ex.:  String contact = id + ", " + name + ", " + telNum;

在这种情况下,您可以执行上述相同操作,但搜索“,”或“,”的索引。

如果您的ID只有号码,而电话号码以+或任何数字开头,那么您可以轻松地从中获取名称。

String name = contact.substring(contact.indexOf(" ", 0)+1, contact.indexOf(" ", contact.indexOf(" ", 0)+1);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM