0

给定这个字符串http://verylongurlverylonngurl/image.jpg&我想剪掉最后一个“/”之前的所有部分。例如,我想删除http://verylongurlverylonngurl/上面字符串的一部分。结果将是“image.jpg”。

我必须剪切字符串“标签”&剪切该字符串的代码必须在 super() 关键字内& 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

5

关于什么

str = str.substring(str.lastIndexOf("/") + 1);
于 2013-04-24T09:01:56.123 回答
1

您可以使用lastIndexOf('/')

返回此字符串中最后一次出现指定字符的索引。对于ch0 to 0xFFFF(含)范围内的值,返回的索引(以 Unicode 代码单位表示)是最大值k,使得:this.charAt(k) == ch为真。对于 ch 的其他值,它是满足以下条件的最大值kthis.codePointAt(k) == ch为真。在任何一种情况下,如果此字符串中没有出现这样的字符,则-1返回。从最后一个字符开始向后搜索字符串。

于 2013-04-24T09:03:29.533 回答
1

试试这个:

String str ="http://verylongurlverylonngurl/image.jpg";
str = str.substring(str.lastIndexOf("/")+1);
System.out.println(str);

输出:

image.jpg
于 2013-04-24T09:06:04.170 回答