-1

我想在 java 中获得最高的可用字符串值,我该如何实现这一点。

示例:你好 jameswangfron

我想得到最高的字符串“jameswangfron”

String Text = request.getParameter("你好 jameswangfron");

请编码示例。

4

2 回答 2

0

也许这会更容易理解

    public class HelloWorld {
public static void main(String[] args) {
    System.out.println(StringManipulator.getMaxLengthString("hello jameswangfron", " "));
    }
}

class StringManipulator{

public static String getMaxLengthString(String data, String separator){     
    String[] stringArray = data.split(separator);
    String toReturn = "";
    int maxLengthSoFar = 0;
    for (String string : stringArray) {
        if(string.length()>maxLengthSoFar){
            maxLengthSoFar = string.length();
            toReturn = string;
        }
    }
    return toReturn;
    }
}

但是有一个问题!如果你注意 String 类的 split 方法,你会发现 spliter 实际上是一个正则表达式。对于您的代码,我看到您想要分隔单词(这意味着空格)。如果要搜索整个文本,则必须传递正则表达式。

这里有一个提示。如果你想让你的单词用“”、“.”、“”分隔(你明白了),那么你应该用以下内容替换 getMaxLengthString 方法中的“”

    "[^a-zA-Z0-9]"

如果你想用数字分割单词,只需输入

    "[^a-zA-Z]"

这告诉我们,我们将分隔符用作任何不是小写字母或大写字母的东西。(^ 字符表示您不想要括号 [] 中列出的字符)

这是另一种方法

    "[^\\w]"

\w 它实际上表示单词字符。所以如果你否定这个(用^)你应该没问题

于 2013-08-02T15:27:14.173 回答
0
public class HelloWorld{
   public static void main(String []args){
      String text = "hello jameswangfron";
      String[] textArray = text.split(" ");
      String biggestString = "";
      for(int i=0; i<textArray.length; i++){
         if(i==0) {
            textArray[i].length();
            biggestString = textArray[i];
         } else {
            if(textArray[i].length()>textArray[i-1].length()){
               biggestString = textArray[i];
            }
         }
      }
   System.out.println("Biggest String : "+biggestString);
   }
}

它显示输出为

Biggest String : jameswangfron
于 2013-08-02T14:55:59.833 回答