0

この文字列を指定http://verylongurlverylonngurl/image.jpgすると、最後の「/」より前の部分をすべて切り取りたいと思います。たとえば、http://verylongurlverylonngurl/上記の文字列の一部を削除したいとします。結果は「image.jpg」になります。

文字列「ラベル」をカットする必要があります。その文字列をカットするコードは、super() キーワード内にある必要があり、スーパー キーワードはコンストラクターの最初のステートメントである必要があります。このコードを見てください:

private class TextShortenedCheckBox extends CheckBox{
      private String originalText;
       public TextShortenedCheckBox(String label, int visibleLength){
            super(label.substring(label.length()-9,label.length()-1));


            originalText=label;

       }
       @Override
       public String getText(){
          return originalText;
       }
    }

コードを見てください。label.substring(label.length()-9,label.length()-1)このコードは結果を返しますが、他の変数文字列には適用できません。

では、文字列の一部を 1 行のコードで切り取って、そのコードを super() 内に入れる方法を教えてください。たぶん、正規表現か何かを使用する必要がありますか?

4

3 に答える 3

1

lastIndexOf('/')を使用できます

指定された文字が最後に出現する、この文字列内のインデックスを返します。chからの範囲内の値の場合、0 to 0xFFFF返されるインデックス (Unicode コード単位) は、次のkような最大値です: this.charAt(k) == chtrue。ch のその他の値については、次のkような最大値this.codePointAt(k) == chです。 true。いずれの場合も、この文字列にそのような文字が存在しない場合は、-1が返されます。文字列は、最後の文字から逆方向に検索されます。

于 2013-04-24T09:03:29.533 に答える