-1

我有一个如下的字符串[Lcom.hexgen.ro.request.CreateRequisitionRO;

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

请帮我纠正它。

4

5 回答 5

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));
}
于 2013-04-25T07:43:03.893 回答
1

如何仅从 [Lcom.hexgen.ro.request.CreateRequisitionRO 获取字符串 com.hexgen.ro.request.CreateRequisitionRO;

String res = str.substring(2,str.length-1);
于 2013-04-25T07:38:52.903 回答
1

这是一个代码:

String toBeFixed = "[Lcom.hexgen.ro.request.CreateRequisitionRO;"; 
String toReplaceWith =toBeFixed.replaceAll("\\[L", "").replaceAll("\\;","");
System.out.println(toReplaceWith);
于 2013-04-25T07:38:59.743 回答
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;
 }
于 2013-04-25T07:39:11.650 回答
0
Use substring function
String url="com.hexgen.ro.request.CreateRequisitionRO";
int n=url.length();
String url1=url.substring(
于 2015-08-10T11:16:52.320 回答