【问题标题】:How to get an array of character (A-z, no numbers) from a given string?如何从给定的字符串中获取字符数组(A-z,无数字)?
【发布时间】:2020-06-04 11:52:41
【问题描述】:

我需要一个 java 正则表达式来回答我的问题。

这是我的代码:

char[] array = s.split("regex");

【问题讨论】:

  • 为什么需要正则表达式?而且split() 无论如何都不会返回char[]
  • “这是我的代码”。考虑到代码,我明白为什么它不起作用。
  • 您可以添加示例输入和预期输出吗?
  • 是的,我的错误,但我的意思是如果我有这个字符串:123abc345def,我如何将它拆分为一个字符数组:a[0]=a,a[1]=b,.. ...

标签: java arrays string char


【解决方案1】:

先用空格替换非字母字符,然后将String转换为char数组:

char[] onlyLetters = "regex".replaceAll("[^A-Za-z]+", "").toCharArray(); 

【讨论】:

    【解决方案2】:

    正如您在问题下方的评论中所说,您真正想要的是获取给定字符串的各个字符,这可以通过 String 类中的 toCharArray() 方法来实现。

    String s = "ABCDEfghi1234";
    char[] chars = s.toCharArray();
    

    如果您还需要将生成的字符限制为一组已定义的字符,则必须首先从字符串中删除所有其他字符,这可以通过简单的正则表达式替换来完成。

    String s = "ABCDEfghi1234_.,-DSsf";
    s = s.replaceAll("[^A-Za-z]", "");
    char[] chars = s.toCharArray();
    

    您使用的split 方法通常用于在定义的位置拆分字符串,例如如果要拆分句子,用空格分隔。

    String sentence = "The quick brown fox jumps over the lazy dog";
    String[] words = sentence.split("\\s");
    // words now contains the extracted words of the sentence
    // words[0] == "The"
    // words[1] == "quick"
    // ...
    

    【讨论】:

      猜你喜欢
      • 2011-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多