String index out of range:-1

2134 ワード

先日の新聞の文字列が境界を越えています。検索では、ある文字の位置を取るべきであるということが分かりました。エラーが発生しました。lastIndexOfを使う時にこの文字を取得するには、検索された文字列にはありませんでした。
解决方法は、位置を取る前に、文字が存在するかどうかを确认します。
 if(name.lastIndexOf)!=-1){
      name=name.substring(0,name.lastIndexOf);
)
JScript  言語の参考
 
--------------------------------------------------
lastIndexOf方法は、Stringオブジェクトの中性子文字列の最後に現れる位置を返します。
strobj.lastIndexOf(substring[,startindex])
パラメータstrobj
必ず選択します。Stringオブジェクトまたはテキスト。
substring
必ず選択します。Stringオブジェクト内で検索するサブ文字列。
startindex
オプションを選択します。この整数値は、Stringオブジェクト内の検索開始インデックス位置を指摘する。省略すると文字列の末尾から検索が開始されます。
lastIndexOf方法は整数値を返し、Stringオブジェクト内のサブ文字列の開始位置を指摘する。サブ文字列が見つからない場合は-1を返します。
startindexが負であれば、startindexはゼロとされる。最大文字位置インデックスよりも大きい場合は、可能性のあるインデックスとして扱われます。
右から左へ検索を実行します。そうでなければ、この方法はindexOfと同じである。
以下の例は、lastIndexOf方法の使い方を示している。
function lastIndexDemo(str 2){   var str 1=「BABEBIBOBUBABIBOBU」   var s=str 1.lastIndexOf(str 2)   return(s);
 java    ,      。
 以下抜粋http://www.chinageren.com/jc/HTML/115914_2.
DateBean.java
{
   private String dateStr;
   private String year;
   private String month;
   private String day;
   //
   public void setDateStr(String str)    // dateStr set
   {
     this.dateStr=str;
   }
   public String getDateStr()    // dateStr get
   {
     return dateStr;
   }
   public String getYear()//
   {
     int a=dateStr.indexOf("-");// “-”
     year=dateStr.substring(0,a);// “-”
     return year;
   }
   public String getMonth()//
   {
     int a=dateStr.indexOf("-");// “-”
     int b=dateStr.lastIndexOf("-");// “-”
     month=dateStr.substring(a+1,b);// “-”
     return month;
   }
   public String getDay()//
   {
     int b=dateStr.lastIndexOf("-");// “-”
     int len=dateStr.length();//
     day=dateStr.substring(b+1,len);// “-”
     return day;
   }
}