簡體   English   中英

Java-拆分並從字符串中獲取所需的字符串

[英]Java - Split and get the needed string from the string

我有一個類似下面的字符串[Lcom.hexgen.ro.request.CreateRequisitionRO;

如何獲得字符串com.hexgen.ro.request.CreateRequisitionRO這只能從[Lcom.hexgen.ro.request.CreateRequisitionRO; 在Java中。 在少數情況下,我會收到com.hexgen.ro.request.CreateRequisitionRO; 所以我還必須檢查給定的字符串是否具有我期望的格式,例如com.hexgen.ro.request.CreateRequisitionRO

請幫我糾正。

您應該使用正則表達式:

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));
}

如何僅從[Lcom.hexgen.ro.request.CreateRequisitionRO;中獲取字符串com.hexgen.ro.request.CreateRequisitionRO;

String res = str.substring(2,str.length-1);

這是一個代碼:

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

考慮到您有字符串替換查詢,這可能對您而言有效:

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;
 }
Use substring function
String url="com.hexgen.ro.request.CreateRequisitionRO";
int n=url.length();
String url1=url.substring(

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM