簡體   English   中英

Java中有關前綴和后綴的問題

[英]question about prefix and suffix in java

我有一個問題,我需要您的幫助!我有一個特定的REGEX,我將其命名為“ unique”,我想存儲它給我的數據! 這個正則表達式的前綴和后綴!!所以!!有人告訴我使用

var前綴和

var后綴

但是我不知道該怎么做!

為了您的方便,我給我這個正則表達式的xml

<reg name="unique">
<start><![CDATA[ <!-- 72 HOURS FORECASTS -->
]]></start>
<end><![CDATA[<!-- 72 HOURS FORECASTS -->]]></end>
</reg>

我稱之為正則表達式的代碼是

int k = 0;

for(Xml reg_is:fetchsite.child("site").child("regexps").children("reg")) {
    if(reg_is.string("name").contains("unique")){


        if(reg_is.child("start").content()=="")
            error += "\tNo prefix reg.exp. given.\n";

        else
              prefix = HtmlMethods.removeBreaks(replaceVariables(reg_is.child("start").content()));                     

        if(reg_is.child("end").content()=="")
            error += "\tNo suffix reg.exp. given.\n";
        else
                suffix = HtmlMethods.removeBreaks(replaceVariables(reg_is.child("end").content()));

    }
    else{
          poleis[k][0]= HtmlMethods.removeBreaks(reg_is.string("name"));
          poleis[k][1] = HtmlMethods.removeBreaks(replaceVariables(reg_is.child("start").content())); 
          poleis[k][2] = HtmlMethods.removeBreaks(replaceVariables(reg_is.child("end").content()));

           k++;
 }

關於您的代碼的一些一般注釋:

  • 使用==檢查String相等是錯誤的 改用equals()方法:

     reg_is.child("end").content().equals("") 
  • 另外,如果要將String變量與硬編碼的String ,最好將硬編碼的String放在首位。 這樣,如果變量為null,則您的程序將不會拋出NullPointerException (因為硬編碼的String永遠不能為null!)

     "".equals(reg_is.child("end").content()) 
  • 在進行大量String串聯時,使用StringBuilder效率更高:

      StringBuilder error = new StringBuilder(); error.append("\\tNo prefix reg.exp. given.\\n"); 
  • 就像奧斯卡·雷耶斯(Oscar Reyes)所說的那樣,如果語句始終使用大括號 ,這是安全的。 如果您添加一行而忘記添加花括號,則可能會浪費大量時間來查找錯誤。 我知道這件事發生在我之前...

     if(reg_is.child("start").content()==""){ error += "\\tNo prefix reg.exp. given.\\n"; } else { prefix = HtmlMethods.removeBreaks(replaceVariables(reg_is.child("start").content())); } 

暫無
暫無

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

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