我想在java中获得最高的可用字符串值,我该如何实现这一点。
示例:hello jameswangfron
我想获得最高的字符串“jameswangfron”
String Text = request.getParameter(“hello jameswangfron”);
请编写示例。
答案 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它实际上意味着单词字符。所以如果你否定这个(用^)你应该没问题