-1

您好我正在寻找一个将长全名字符串拆分为逻辑字符串的函数。为了更清楚,我举一个例子:

String Name= "Jorge Peter Wagh";

如果我调用如下函数:

splitedName = getSplitedName("LongSting", maxCharLength);

场景一:

String finalName = getSplitedName("Name", 6);

那么结果(finalName)应该是:Jorge

场景二:

String finalName = getSplitedName("Name", 11);// Editing, minor correction

那么结果(finalName)应该是:Jorge P. W.

场景 3:

String finalName = getSplitedName("Name", 15); // Editing, minor correction

那么结果(finalName)应该是:Jorge Peter W.

谁能帮我。您的帮助将不胜感激。

编辑:

在 Dan 的代码中,我在 for 循环中添加了几行额外的行来处理 maxlength 小于 5 的情况:

if(i==0 && (maxCharLength < splitted[i].length()) && (maxCharLength>1)){

finalName += splitted[i].substring(0,1) + "."; 休息;

}

提前致谢。

和我

4

1 回答 1

0

我通常不为人们做作业,但我很无聊。

String getSplitedName(String s, int len)
{
  if (len >= s.length())
    return s;
  String s2 = s.substring(0, len + 1);
  int index = s2.lastIndexOf(" ");
  if (index == -1)
    return "";
  if (index < s2.length() - 3)
    return s2.substring(0, index + 2) + ".";
  return s2.substring(0, index);
}

为了:

String name = "Jorge Peter Wagh";
System.out.println(getSplitedName(name, 6));
System.out.println(getSplitedName(name, 10));
System.out.println(getSplitedName(name, 12));
System.out.println(getSplitedName(name, 15));
System.out.println(getSplitedName(name, 16));

印刷:

Jorge
Jorge P.
Jorge Peter
Jorge Peter W.
Jorge Peter Wagh
于 2013-04-22T14:49:53.217 回答