在Java中,我有一个字符串:

Jamaica

我想删除字符串的第一个字符,然后返回amaica

我该怎么做呢?


当前回答

public String removeFirstChar(String s){
   return s.substring(1);
}

其他回答

public String removeFirstChar(String s){
   return s.substring(1);
}

您可以简单地使用substring()。

String myString = "Jamaica"
String myStringWithoutJ = myString.substring(1)

方法中的索引指示了我们从哪里获取结果字符串,在这种情况下,我们在第一个位置之后获得它,因为我们不希望“牙买加”中的“J”。

substring()方法返回一个新的String,其中包含当前包含在该序列中的字符的子序列。

子字符串从指定的开头开始,扩展到索引末尾的字符- 1。

它有两种形式。首先是

字符串子字符串(int FirstIndex)

这里,FirstIndex指定子字符串所在的索引 开始。此表单返回以。开始的子字符串的副本 FirstIndex并运行到调用字符串的末尾。

String子字符串(int FirstIndex, int endIndex)

这里,FirstIndex指定开始索引,endIndex指定 停止点。返回的字符串包含所有的字符 从开始索引到结束索引,但不包括结束索引。

例子

   String str = "Amiyo";
   // prints substring from index 3
   System.out.println("substring is = " + str.substring(3)); // Output 'yo'

使用substring()并给出要从前面修剪的字符数。

String value = "Jamaica";
value = value.substring(1);

答:“amaica”

我遇到了这样一种情况,我不仅要删除第一个字符(如果它是#的话),还要删除第一组字符。

字符串myString = ###Hello World可以作为起点,但我只想保留Hello World。这可以按照以下方法完成。

while (myString.charAt(0) == '#') { // Remove all the # chars in front of the real string
    myString = myString.substring(1, myString.length());
}

对于OP的情况,用if替换while,效果也很好。