java字符串子字符串检索

java字符串子字符串检索,java,regex,string,substring,Java,Regex,String,Substring,我有一个字符串,我想从中提取一个子字符串。 字符串温度=abc-def-p1-p2-p3-p4-p5.uvx.xyz 我希望检索字符串以代替p1、p2、p3、p4。p1、p2、p3、p4可以有不同的值,但是临时字符串的格式将与上述格式保持不变 目前,我计划使用以下函数提取值: public void extractSubString(String temp) { String[] parts = temp.split("-"); String p1 = parts[2]; Str

我有一个字符串,我想从中提取一个子字符串。 字符串温度=abc-def-p1-p2-p3-p4-p5.uvx.xyz

我希望检索字符串以代替p1、p2、p3、p4。p1、p2、p3、p4可以有不同的值,但是临时字符串的格式将与上述格式保持不变

目前,我计划使用以下函数提取值:

public void extractSubString(String temp) {

  String[] parts = temp.split("-");

  String p1 = parts[2];
  String p2 = parts[3];
  String p3 = parts[4];
  String p4 = parts[5];
}
但是,这似乎不是检索子字符串的最干净的方法。 是否有更好的方法获得这些值


谢谢

只要你确定p1、p2、p3、p4不能包含a,我的意思是,作为它们的值,我认为你的解决方案是好的。您可以使用正则表达式进行解析,但在本例中,这样做太过分了。当然,如果p1-p4可能包含-那么您最终将解析不正确的值

有什么不干净的地方吗?对于初学者,您可以进行边界检查…有更好的方法吗?您还可以使用,这将允许更好地控制数据中的差异。正则表达式是否更好取决于您的情况。