在java中获取最高可用字符串

时间:2013-08-02 14:20:48

标签: string split substring

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

示例:hello jameswangfron

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

String Text = request.getParameter(“hello jameswangfron”);

请编写示例。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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实际上是一个正则表达式。对于您的代码,我看到您要分隔单词(这意味着空白)。如果你想要搜索整个文本,你必须传递一个正则表达式。

这是一个提示。如果你希望你的单词用“”,“。”,“,”(你得到ideea)分隔,那么你应该用以下

替换getMaxLengthString方法中的“”
    "[^a-zA-Z0-9]"

如果您想要数字来分割单词,只需输入

即可
    "[^a-zA-Z]"

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

这是另一种方法

    "[^\\w]"

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