我正在尝试使用索引值打印子字符串.我需要在计数时排除空格,但它应该打印输出和空格.我想从主字符串中显示n个字母.空格将保持原样,但从下限到上限索引的字母数量应为n.我的代码是
public class Test {
public static void main(String args[])
{
String Str=new String("Welcome to the class");
System.out.println("\nReturn value is:");
System.out.println(Str.substring(2,9));
}
}
Run Code Online (Sandbox Code Playgroud)
输出: lcome t
在上面提到的代码中,它计算"欢迎"和"到"之间的空格.我不需要计算它们之间的空间.我的预期产量是收益
你可以使用简单的数学.只需对其进行子串,删除所有空格并将原始长度与String无空格进行比较.然后将大小差异添加到子字符串的结束索引中.
public static void main(String args[]) {
String Str = "Welcome to the class";
System.out.println("\nReturn value is:");
String sub = Str.substring(2, 9);
String wsRemoved = sub.replaceAll(" ", "");
String wsBegginingRemoved = sub.replaceAll("^ *", "");
String outputSub = Str.substring(2+(sub.length()-wsBegginingRemoved.length()), 9+(sub.length()-wsRemoved.length()+(sub.length() - wsBegginingRemoved.length())));
System.out.println(outputSub);
}
Run Code Online (Sandbox Code Playgroud)
编辑:不再忽略前导空格
O/P
lcome to
Run Code Online (Sandbox Code Playgroud)
O/P "My name is Earl"
name is E
Run Code Online (Sandbox Code Playgroud)