我需要制定一种仅在单词开头才使用大写字母的方法,这也许很容易,但是到目前为止我还无法使其工作。因为我测试过的用例是diff,所以我没有第一个字符是字符串的情况,它可以是数字或其他。
The result I want :
test => Test
test start now => Test start now.
2test start now => 2test start now
_test => _test
-test => -test
答案 0 :(得分:1)
List<String> values = Arrays.asList("test => Test",
"test start now => Test start now.",
"2test start now => 2test start now",
"_test => _test",
"-test => -test");
@Test
public void firstLetterUpperCase() {
// Iterate the values
values.stream()
// Check if the first char is Alphabetic
.filter(text -> Character.isAlphabetic(text.charAt(0)))
// Capital first letter and print
.forEach(text -> System.out.println(text.substring(0, 1).toUpperCase() + text.substring(1)));
}
输出
Test => Test
Test start now => Test start now.
答案 1 :(得分:0)
String text = "text";
String capitalize = text.substring(0, 1).toUpperCase() + text.substring(1);
它需要第一个字符,并执行toUpperCase()
,然后添加其余的字符串。
如果第一个字符不是字母,toUpperCase()
不会更改它。
"-".toUpperCase()
是"-"
"1".toUpperCase()
是"1"
"a".toUpperCase()
是"A"
"A".toUpperCase()
是"A"
答案 2 :(得分:0)