-4

我想知道在用户输入字符串之前从未定义的字符串中获取子字符串的最佳方法是什么。例如,如果用户输入“abcdefg”,我怎样才能得到一个子字符串“cde”我已经查看了 indexOf 方法,但这似乎在字符串已知时使用

4

3 回答 3

3

String 类中有一个substring方法。通常,您应该查看相关类的 javadocs,以查看是否有任何适用的方法可用于您尝试执行的操作。

http://docs.oracle.com/javase/6/docs/api/java/lang/String.html

substring易于使用。

String s = //something
s.substring(0, 3); //returns characters 0, 1 and 2 as a String
于 2013-09-10T04:20:20.673 回答
1

你可以使用substring()方法来做到这一点。但我不清楚你要在这里做什么。您也可以使用indexOf()带有一些验证的方法。

对于您的示例案例,您可以尝试以下操作。

子串()

   String str="abcdefg";
   System.out.println(str.substring(2,5));

indexOf()substring()

   String str="abcdefg";
   if(str.indexOf('c')!=-1&&str.indexOf('e')!=-1){
       System.out.println(str.substring(str.indexOf('c'),str.indexOf('e')+1));
   }

indexOf()subSequence()

  String str="abcdefg";
   if(str.indexOf('c')!=-1&&str.indexOf('e')!=-1){
       System.out.println(str.subSequence(str.indexOf('c'),str.indexOf('e')+1));
   }
于 2013-09-10T04:22:54.547 回答
0
public class Test {
    public static void main(String[] args) {
        String str="abcdefg";
        if(str!=null && str.length() > 5)
            System.out.println(str.substring(2, 5));
        // OR
            System.out.println(str.subSequence(2, 5));

    }
}
于 2013-09-10T04:25:56.043 回答