从java中的未知字符串获取子字符串
我想知道在用户输入字符串之前,从未定义的字符串中获取子字符串的最佳方法是什么。例如,如果用户输入'abcdefg',我如何获得子字符串“cde”“我已经研究了indexOf方法,但这似乎是在字符串已知时使用的字符串类中有一个从java中的未知字符串获取子字符串,java,string,substring,Java,String,Substring,我想知道在用户输入字符串之前,从未定义的字符串中获取子字符串的最佳方法是什么。例如,如果用户输入'abcdefg',我如何获得子字符串“cde”“我已经研究了indexOf方法,但这似乎是在字符串已知时使用的字符串类中有一个子字符串方法。一般来说,您应该查看相关类的javadocs,看看是否有任何适用于您尝试执行的操作的方法 子字符串易于使用 String s = //something s.substring(0, 3); //returns characters 0, 1 and 2 as
子字符串
方法。一般来说,您应该查看相关类的javadocs,看看是否有任何适用于您尝试执行的操作的方法
子字符串
易于使用
String s = //something
s.substring(0, 3); //returns characters 0, 1 and 2 as a String
您可以使用
substring()
方法来执行此操作。但我不清楚你在这里要做什么。您也可以使用带有一些验证的indexOf()
方法
对于您的示例案例,您可以尝试以下内容
子字符串()
indexOf()和子字符串()
indexOf()和子序列()
你的问题毫无意义。具体要求是什么?1.是否在前两个字符之后获取3个字符?2.获取字符串的中间字符?3.输入“ab”后获得3个字符。4.还有别的吗?您已经知道如何使用substring(..)方法。这就是复制解决方案()而不是考虑解决方案的逻辑时遇到的问题。同上,但简单地说:说出您希望如何选择字符串的部分。@user2704743,我在问您如何学习以清晰易懂的要求发布适当的问题。你最好把时间花在重新编写和陈述你的需求上,而不是做不必要的评论。
String str="abcdefg";
System.out.println(str.substring(2,5));
String str="abcdefg";
if(str.indexOf('c')!=-1&&str.indexOf('e')!=-1){
System.out.println(str.substring(str.indexOf('c'),str.indexOf('e')+1));
}
String str="abcdefg";
if(str.indexOf('c')!=-1&&str.indexOf('e')!=-1){
System.out.println(str.subSequence(str.indexOf('c'),str.indexOf('e')+1));
}
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));
}
}