Java - 拆分并从字符串中获取所需的字符串

时间:2013-04-25 07:34:10

标签: java split

我有一个像以下[Lcom.hexgen.ro.request.CreateRequisitionRO;

的字符串

如何仅从java中的com.hexgen.ro.request.CreateRequisitionRO获取字符串[Lcom.hexgen.ro.request.CreateRequisitionRO;。我得到com.hexgen.ro.request.CreateRequisitionRO;的情况很少,所以我还要检查给定的字符串是否具有我期望的格式com.hexgen.ro.request.CreateRequisitionRO

请帮我纠正。

5 个答案:

答案 0 :(得分:2)

你应该使用正则表达式:

String input = "com.hexgen.ro.request.CreateRequisitionRO"; //OR "[Lcom.hexgen.ro.request.CreateRequisitionRO;"
Pattern p = Pattern.compile("(\\[L)*([\\w\\.]+)(\\;)*");
Matcher m = p.matcher(input);
while(m.find()){
    System.out.println(m.group(2));
}

答案 1 :(得分:1)

  

如何从[Lcom.hexgen.ro.request.CreateRequisitionRO;

获取字符串com.hexgen.ro.request.CreateRequisitionRO
String res = str.substring(2,str.length-1);

答案 2 :(得分:1)

这是一段代码:

String toBeFixed = "[Lcom.hexgen.ro.request.CreateRequisitionRO;"; 
String toReplaceWith =toBeFixed.replaceAll("\\[L", "").replaceAll("\\;","");
System.out.println(toReplaceWith);

答案 3 :(得分:1)

考虑到您有字符串替换查询,这可能适用于您的情况:

public void test(){
String s1 = "[Lcom.hexgen.ro.request.CreateRequisitionRO";
String s2 = "com.hexgen.ro.request.CreateRequisitionRO";
System.out.println(getClassName(s1));  
System.out.println(getClassName(s2));
}

public String getClassName(String s){
            if(s.startsWith("\\[L")){
                s = s.substring(2, s.length()-1);
            }
      return s;
 }

答案 4 :(得分:0)

Use substring function
String url="com.hexgen.ro.request.CreateRequisitionRO";
int n=url.length();
String url1=url.substring(