我正在尝试将字符大小超过5个字符。
我能够使用.length检索大于5个字符的单词数量,我可以排除大于5个字符的单词,但我无法将它们大写。
实施例。输入:"我喜欢吃馅饼"
实施例。输出:"我喜欢吃馅饼"
这是我的代码:
public static void main(String[] args) {
String sentence = "";
Scanner input = new Scanner(System.in);
System.out.println("Enter a sentence: ");
sentence = input.nextLine();
String[] myString = sentence.split("\\s\\w{6,}".toUpperCase());
for (String myStrings : myString) {
System.out.println(sentence);
System.out.println(myStrings);
}
答案 0 :(得分:1)
将输入句子拆分为空格作为分隔符,如果长度大于5,则使用intiCap方法:
PS:要用StringBuilder替换的System.out.print。
String delim = " ";
String[] myString = sentence.split(delim);
for (int i = 0; i < myString.length; i++) {
if (i != 0) System.out.print(delim);
if (myString[i].length() > 5)
System.out.print(intiCap(myString[i]));
else
System.out.print(myString[i]);
}
private static String intiCap(String string) {
return Character.toUpperCase(string.charAt(0)) + string.substring(1);
}
答案 1 :(得分:1)
$("#" + thisid).parent().find("#error").html("Error: " + positionError.message + "<br />")
答案 2 :(得分:0)
您可以使用以下(短而甜:P):
Pattern p = Pattern.compile("(?=\\b\\w{6,})([a-z])\\w+");
Matcher m = p.matcher(sentence);
StringBuffer s = new StringBuffer();
while (m.find()){
m.appendReplacement(s, m.group(1).toUpperCase() + m.group(0).substring(1));
}
System.out.println(s.toString());
请参阅Ideone Demo