如何在Java中不使用substring()方法获取子字符串?
我只是在寻找一种简单的方法,不用substring方法就可以提取子字符串 我假设这是一个家庭作业问题,但是如果您想得到提示,可以使用如何在Java中不使用substring()方法获取子字符串?,java,string,substring,Java,String,Substring,我只是在寻找一种简单的方法,不用substring方法就可以提取子字符串 我假设这是一个家庭作业问题,但是如果您想得到提示,可以使用myString.tocharray()提取字符串中每个字符的char[],并使用myString.charAt(0)获取索引0处的字符 您还可以从字符数组newstring(myCharArray)构造一个新字符串,这样您就可以轻松地 获取原始字符串并获取字符数组(char[]myChars=myString.tocharray();,例如) 将字符数组复制到新的
myString.tocharray()
提取字符串中每个字符的char[]
,并使用myString.charAt(0)
获取索引0处的字符
您还可以从字符数组newstring(myCharArray)
构造一个新字符串,这样您就可以轻松地
char[]myChars=myString.tocharray();
,例如)char[]mySubstringChars=…
)String mySubstring=newstring(mySubstringChars);
)您可以按如下方式进行操作:
public class Test {
public static void main(String args[]) {
String str = "Hello World!";
String newStr = "";
int startFrom = 2, endBefore = 5;// test startFrom and endBefore indices
for (int i = startFrom; i < endBefore; i++)
newStr += String.valueOf(str.charAt(i));
System.out.println(newStr);
}
}
[更新]
使用StringBuilder
有两个明显的优点:
char
值附加到字符串之前,不需要String.valueOf
将char
值转换为String
值,因为支持直接将char
值附加到字符串String
对象,因为String
是一个不可变的类,因此每次尝试更改字符串都会创建一个新的String
对象。你检查了一个好的讨论
公共类测试{
公共静态void main(字符串参数[]){
String str=“你好,世界!”;
StringBuilder newStr=新的StringBuilder();
int startFrom=2,endBefore=5;//测试startFrom和endBefore索引
for(int i=startFrom;i
使用
charAt
将字符串视为数组,然后自己提取。您可以随时查看substring方法的源代码。是否可以添加一个代码,以便在不必使用substring()方法的情况下提取数据或文本。当然,有很多方法可以实现您的代码,但是在这里添加您所做的工作或您的方法。谢谢您的回答。这是一个家庭作业问题,但我们还没有学会数组、函数或其他有趣的东西。我们在变量声明和使用简单字符串方法方面做得很好。我很确定你可以制作一个函数来完成子字符串方法的工作,但是正如我所说的,我是一个完全的初学者。哦,不,循环中的字符串连接!
llo
public class Test {
public static void main(String args[]) {
String str = "Hello World!";
StringBuilder newStr = new StringBuilder();
int startFrom = 2, endBefore = 5;// test startFrom and endBefore indices
for (int i = startFrom; i < endBefore; i++)
newStr.append(str.charAt(i));
System.out.println(newStr);
}
}