相关疑难解决方法(0)

如何大写字符串中每个单词的第一个字符

是否有一个内置于Java中的函数可以将String中每个单词的第一个字符大写,而不影响其他单词?

例子:

  • jon skeet - > Jon Skeet
  • miles o'Brien- > Miles O'Brien(B仍然是资本,这排除了标题案例)
  • old mcdonald- > Old Mcdonald*

*(Old McDonald也会发现,但我不认为它那么聪明.)

就让我们来看看在Java的String文档仅揭示toUpperCase()toLowerCase(),这当然不提供所需的行为.当然,谷歌的结果由这两个功能主导.它看起来像一个必须已经发明的轮子,所以它可以不会受到伤害,所以我可以在将来使用它.

java string lowercase capitalization uppercase

401
推荐指数
12
解决办法
39万
查看次数

什么是Java中的"代理对"?

我正在阅读文档StringBuffer,特别是reverse()方法.该文件提到了代理人对的一些内容.在这种情况下,什么是代理对?什么是代理人?

java unicode utf-16 surrogate-pairs

139
推荐指数
7
解决办法
5万
查看次数

如何在字符串中的每个首字母大写?

可能重复:
大写字符串Java中每个单词的第一个字符

我有一个字符串:"你好旧世界",我希望每个单词的每个第一个字母大写,而不是整个字符串.toUpperCase().是否有现有的java助手来完成这项工作?

java string

93
推荐指数
8
解决办法
29万
查看次数

将字符串中的首字母大写

我在将字符串中的第一个字母转换为Capital时遇到问题:

rackingSystem.toLowerCase(); // has capitals in every word, so first convert all to lower case
StringBuilder rackingSystemSb = new StringBuilder();
rackingSystemSb.append(rackingSystem);
rackingSystemSb.setCharAt(0, Character.toUpperCase(rackingSystemSb.charAt(0))); 
rackingSystem = rackingSystemSb.toString();
Run Code Online (Sandbox Code Playgroud)

这似乎不起作用..

有什么建议?

java stringbuilder capitalize

30
推荐指数
2
解决办法
3万
查看次数

在java中创建String首字母大写

截至目前,我正在使用此代码在字符串首字母中创建我的第一个字母

String output = input.substring(0, 1).toUpperCase() + input.substring(1);
Run Code Online (Sandbox Code Playgroud)

这对我来说似乎很脏..有任何直接或优雅的方式..

java string capitalize

26
推荐指数
2
解决办法
5万
查看次数

有哪些方法可以避免 String.substring 返回具有无效 unicode 字符的子字符串?

最近,只有我注意到,有可能substring返回带有无效 unicode 字符的字符串。

例如

public class Main {

    public static void main(String[] args) {
        String text = "_Salade verte";

        /* We should avoid using endIndex = 1, as it will cause an invalid character in the returned substring. */
        // 1 : ?
        System.out.println("1 : " + text.substring(0, 1));

        // 2 : 
        System.out.println("2 : " + text.substring(0, 2));

        // 3 : _
        System.out.println("3 : " + text.substring(0, 3));

        // 4 : _S
        System.out.println("4 : " + text.substring(0, 4)); …
Run Code Online (Sandbox Code Playgroud)

java android

19
推荐指数
2
解决办法
770
查看次数

Character.toUpperCase()和Character.toTitleCase()之间有什么区别

我正在重构我的一些旧代码,然后我发现我Character.toTitleCase()在某些时候使用过方法并且无法帮助自己想知道是否Character.toUpperCase()会更好.

我阅读了他们的描述并没有看到任何基本的区别:

toUpperCase

使用UnicodeData文件中的大小写映射信息将字符参数转换为大写.请注意,对于某些字符范围,Character.isUpperCase(Character.toUpperCase(ch))并不总是返回true,特别是那些符号或表意符号.

通常,String.toUpperCase()应该用于将字符映射到大写.字符串大小写映射方法比字符大小写映射方法有几个好处.字符串大小写映射方法可以执行区域设置敏感的映射,上下文相关的映射和1:M字符映射,而字符大小写映射方法则不能.

注意:此方法无法处理补充字符.要支持所有Unicode字符(包括增补字符),请使用toUpperCase(int)方法.

toTitleCase

使用UnicodeData文件中的大小写映射信息将字符参数转换为titlecase.如果一个字符没有明确的标题映射,并且根据UnicodeData本身不是一个标题字符串,那么大写映射将作为等效的标题映射返回.如果char参数已经是titlecase char,则返回相同的char值.请注意,对于某些字符范围,Character.isTitleCase(Character.toTitleCase(ch))并不总是返回true.

注意:此方法无法处理补充字符.要支持所有Unicode字符(包括增补字符),请使用toTitleCase(int)方法.

然后我试着像这样测试它们:

public class Test {
  public static void main(String... args) {

    String originalString = "abcdefghijklmnopqrstuvwxyz123546-.,/*&%+";
    StringBuilder upperCaseStringBuilder = new StringBuilder();
    StringBuilder titleCaseStringBuilder = new StringBuilder();

    for (int i = 0; i < originalString.length(); i++) {
      upperCaseStringBuilder.append(Character.toUpperCase(originalString.charAt(i)));
      titleCaseStringBuilder.append(Character.toTitleCase(originalString.charAt(i)));
    }

    System.out.println("Original String : " + originalString);
    System.out.println("UpperCase result: " + upperCaseStringBuilder.toString());
    System.out.println("TitleCase result: " + titleCaseStringBuilder.toString());
  }
}
Run Code Online (Sandbox Code Playgroud)

这是输出:

Original String : abcdefghijklmnopqrstuvwxyz123546-.,/*&%+
UpperCase result: ABCDEFGHIJKLMNOPQRSTUVWXYZ123546-.,/*&%+
TitleCase …
Run Code Online (Sandbox Code Playgroud)

java character

11
推荐指数
1
解决办法
745
查看次数