如何获取字符串中的最后3个字母?

时间:2015-08-25 14:44:36

标签: java string substring

我试图获取字符串中的最后三个字符。使用以下代码,我试图获取fname变量的最后三个字符,但我得到了一个"方法Length(int)未定义类型String& #34;错误:

 String fname = request.getParameter("fname");
 String lname = request.getParameter("lname");
 String number = request.getParameter("number");

 String firstPart = lname.substring(0, 3);
 String middlePart = fname.substring(0, fname.Length(3)); 

2 个答案:

答案 0 :(得分:7)

所以这里有两个问题:

首先,您要调用fname.Length(3),因为String没有Length(int n)方法,所以没有意义。它具有substring(int)方法和length()方法,您可以按如下方式使用:

String middlePart = fname.substring(fname.length() - 3);

如链接的JavaDocs中所述,String.substring() "返回一个新字符串,该字符串是此字符串的子字符串。子字符串以指定索引处的字符开头,并延伸到此字符串的末尾。" 。因此,如果我们可以在我们想要开始复制的字符串fname内为它提供索引(或位置)。

如果我有"Chicken"之类的字符串,并且我想要最后3个字符,请拨打"Chicken".substring(4),结果为"ken" (字符串是零索引的,因此字符' k'有索引4)。

我使用String.length()方法来告诉我String有多长,并且减去3,而不是硬编码我要从中开始子串的索引。在上面的示例中,{ {1}}是7,因此如果你想要最后3个字符,"Chicken".length()是你应该开始子串的索引。

答案 1 :(得分:3)

String lastThreeChars = string.substring(string.length() - 3);