如何让我的toString方法只返回String的某些部分,例如我有一个带有构造函数的名称和姓氏的变量。我想使用toString方法,以便它只返回每个名称的第一个字母,其中填充其余的占位符,例如' - '
var options = {
host: YOUR_API_URL,
port: 80,
path: 'REST_API_END_POINT',
method: 'YOUR_HTTP_METHOD' //POST/GET/...
};
http.request(options, function(res) {
//Whatever you want to do with the reply...
}).end();
这样我就能得到像詹姆斯·罗伊这样的名字'J ---- R--'的输出
答案 0 :(得分:3)
在类中,覆盖toString方法:
@Override
public String toString() {
return forename.replaceAll("\\B\\w", "-")) + " " + surname.replaceAll("\\B\\w", "-"));
}
或更简洁:
@Override
public String toString() {
return (forename + " " + surname).replaceAll("\\B\\w", "-");
}
replaceAll将使用令牌“ - ”替换字符串中除第一个字符外的所有字符,从而达到您想要的结果。
Here's a very helpful link for working with Regex.请注意,因为java使用'\'作为转义令牌,所以你需要使用两个,如图所示。