我试图获取字符串中的最后三个字符。使用以下代码,我试图获取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));
答案 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);