public class RemoveSpaceFromString {
public static void main(String args[])
{
Scanner s1=new Scanner(System.in);
String str="";
System.out.println("enter the string");
str=s1.nextLine();
int l=str.length();
char ch[]=str.toCharArray();
for(int i=0;i<l;i++)
{
if(ch[i]==' ')
{
for(int k=i;k<l-1;k++)
{
ch[k]=ch[k+1];
}
l--;
i--;
}
}
String str2=new String(ch);
System.out.println(str2);
}
}
ouptput :
enter the string
my name is abc
mynameisabcccc
如何删除末尾多余的“c”
最佳答案
只需使用
str = s1.nextLine().replaceAll(" ", "");;
我看到@cricket 已经在这个问题的评论中指出了这一点! 他还建议使用这样的正则表达式:
str = str.replaceAll("\\s", ""); // for only one white space
str = str.replaceAll("\\s+", ""); // for multiple white spaces
但是要回答您最初的问题如何使用字符数组从字符串中删除空格:
在您最初的示例中,您将每个字符元素向右移动,但最后一个元素始终保持不变!因此,如果您想再次获取此字符数组的字符串,则必须将长度减少它变小的数字(由于删除了空格)!
这是代码(查看倒数第二行(倒数第二行)):
Scanner s1=new Scanner(System.in);
System.out.println("enter the string");
String str=s1.nextLine();
int l=str.length();
char ch[]=str.toCharArray();
for(int i=0;i<l;i++)
{
if(ch[i]==' ')
{
for(int k=i;k<l-1;k++)
{
ch[k]=ch[k+1];
}
l--;
i--;
}
}
String str2=new String(ch,0,l);
System.out.println(str2);
关于java - 使用字符数组删除字符串中的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49112718/