如何获得我的tostring方法仅返回字符串的某些部分,例如,我使用构造函数的名称和姓氏有变量。我想使用tostring方法,以便它仅返回每个名称的第一个字母,其余的用占位符填充占位符,例如' - '
enter code here
private String foreame = null;
private String surname = null;
public FullName(String forename, String surname)
{
this.forename = forename;
this.surname = surname;
}
这样我就可以得到'j ----- r-'的输出,詹姆斯·罗伊
在类中,覆盖ToString方法:
@Override
public String toString() {
return forename.replaceAll("\B\w", "-")) + " " + surname.replaceAll("\B\w", "-"));
}
或更简单的:
@Override
public String toString() {
return (forename + " " + surname).replaceAll("\B\w", "-");
}
替换将用令牌" - "替换字符串中的第一个字符以外的所有字符,从而实现您所需的结果。
这是与Regex合作的非常有用的链接。请注意,由于Java使用" "作为逃生令牌,因此您需要使用两个。