【问题标题】:Way to handle string in JavaJava中处理字符串的方法
【发布时间】:2016-09-12 18:03:37
【问题描述】:

我想删除字符串开头的所有数字。我只想删除开头的数字,而不是结尾或中间的数字。

示例:“123string67”到“string67”

我可以使用一些函数或正则表达式来轻松做到这一点吗?

【问题讨论】:

  • “也许有一个简单的正则表达式命令”。有。你尝试了什么?还是您要求我们为您编写正则表达式,而无需您自己进行任何研究?由于缺乏研究而被否决。
  • 正则表达式是你的朋友...为此使用模式
  • 开头允许多少位数

标签: java regex


【解决方案1】:

您可以使用group capture^\d*(.*) 正则表达式

Pattern pattern = java.util.regex.Pattern.compile("^\\d*(.*)")
Matcher matcher = pattern.matcher("123string67")
if (matcher.matches()) {
    String truncated = matcher.group(); //string67
}

这是一个正则表达式解释

^    - start of string
\d*  - zero or more digit
 (   - group capture start
  .* - any symbol
 )   - group capture end

【讨论】:

    【解决方案2】:

    这里有一个提示(没有正则表达式):(*您仍然需要考虑字符串为空或仅包含数字的情况)

    int i=0;
    while(isDigit(str.charAt(i))) {
        str.deleteCharAt(i);
    }
    

    【讨论】:

      【解决方案3】:

      您可以使用 for (i.. To i.string.lenght..) 并使用 ASCII 数字进行控制并删除数字数字,以便您可以根据需要替换您的字符串我希望这对您有所帮助

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-12-19
        • 1970-01-01
        • 2010-10-26
        • 2013-09-19
        • 2010-11-01
        • 2018-11-19
        • 2015-12-13
        相关资源
        最近更新 更多