【问题标题】:How do I change the value in "Xxxxx" format even if user inputs like this "xXXxX"? Java即使用户输入像这样的“xXXxX”,我如何更改“Xxxxx”格式的值?爪哇
【发布时间】:2016-02-25 20:54:41
【问题描述】:

我有一个想法:(可能太完整了)

  1. 我想知道是否可以 substring(1) 然后使用 .toUpperCase() 字符串
  2. 然后使用 getLength() 获得长度 .toLowerCase() 字符串中的其余部分

有没有更简单的方法来做到这一点?所以我可以将值存储为“Xxxx”格式。 谢谢。

例如: 无论用户输入的值是“hELLo”还是“HEllO”,系统始终将值存储为“Hello”。这可以解释我的问题。

【问题讨论】:

标签: java


【解决方案1】:

我为自己编写了一个小实用程序。它可能会帮助你。我确信我的字符串中总会有字母,所以不关心任何其他字符。您可能想根据自己的需要进行修改。

int length = "yourstring".length();/// get the length of the string
        String camelCase = removeCharacters.substring(0, 1).toUpperCase();// upper case the first alphabet
        camelCase = camelCase + "yourstring".substring(1, length).toLowerCase();// lowercase all other alphabets

【讨论】:

  • 为什么要重新发明轮子? Apache 已经开箱即用,camelCase 与 OP 在他的问题中要求的不同。
【解决方案2】:

子字符串有单参数版本和双参数版本。第二个论点是非包容性的。所以,你想要的字符串的第一位是

myString.subString(0, 1)

第二位是

myString.subString(1)

然后您可以对结果调用 toUpper 和 toLower 方法,并将它们连接起来。

【讨论】:

  • 这可能是真的,但他在问一个问题来解析用户输入。它既不太可能很长,也不太可能在关键部分。我认为可以安全地假设我们可以在这里优化开发时间。 :)
  • 请查看我的答案以获得更强大的解决方案
  • 感谢您注意到这一点。
【解决方案3】:

是的,Apache Commons-Lang 项目有一个带有大写方法的WordUtils 类,如下例所示:

WordUtils.capitalize("i am FINE") yields: "I Am FINE"

【讨论】:

  • 如果我想使用这种方法。我应该导入什么包?我正在使用 blueJay,它说“org.apache.commons.lang3.text”不存在。 (导入 org.apache.commons.lang3.text.WordUtils;)
  • 在您的 CLASSPATH 中包含 commons-lang3 jar 并在文件顶部导入 org.apache.commons.lang3.text.WordUtils。
猜你喜欢
  • 2018-11-18
  • 2022-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-08
  • 1970-01-01
  • 2012-10-11
相关资源
最近更新 更多