将一个变量分配给位于某个分隔符Ex.“|”;使用Java
我有一个字符串,我想分解它,并将这个字符串的不同部分分配给不同的变量将一个变量分配给位于某个分隔符Ex.“|”;使用Java,java,regex,indexing,Java,Regex,Indexing,我有一个字符串,我想分解它,并将这个字符串的不同部分分配给不同的变量 String: String str ="NAME=Mike|Phone=555.555.555| address 298 Stack overflow drive"; To Extract the Name: int startName = str.indexOf("="); int endName = str.indexOf("|"); String name = str.substring(startName +1
String:
String str ="NAME=Mike|Phone=555.555.555| address 298 Stack overflow drive";
To Extract the Name:
int startName = str.indexOf("=");
int endName = str.indexOf("|");
String name = str.substring(startName +1 , endName ).trim();
But I can't extract the phone number:
int startPhone = arg.indexOf("|Phone");
int endPhone = arg.indexOf("|");
String sip = arg.substring(startPhone + 7, endPhone).trim();
现在,如何提取分隔符“|”之间的电话号码。
另外,是否有其他方法使用分隔符“=”和第一个“|”提取名称您可以同时在=和|上拆分,然后拾取非标签部分
String delimiters = "[=\\|]";
String[] splitted = str.split(delimiters);
String name = splitted[1];
String phone = splitted[3];
注意,他的代码假定输入的格式与您发布的格式完全相同。您可能需要检查空白和其他不规则情况
String[] details = str.split("|");
String namePart = details[0];
String phonePart = details[1];
String addressPart = details[2];
String name = namePart.substring(namePart.indexOf("=") + 1).trim();
String phone = phonePart.substring(phonePart.indexOf("=") + 1).trim();
String address = addressPart.trim();
我希望这能有所帮助。为什么不用
str.split(\\\\\\)
?@Tunaki来拆分=
,然后他必须再次拆分=
。)试试这个(?)?