Check if string is a punctuation character

后端 未结 6 1890
我寻月下人不归
我寻月下人不归 2020-12-03 21:13

Let\'s say I have a String array that contains some letters and punctuation

String letter[] = {\"a\",\"b\",\"c\",\".\",\"a\"};

In letter[3]

相关标签:
6条回答
  • 2020-12-03 21:31

    Do you want to check more punctuations other than just .?

    If so you can do this.

    String punctuations = ".,:;";//add all the punctuation marks you want.
    ...
    if(punctuations.contains(letter[a]))
    
    0 讨论(0)
  • 2020-12-03 21:35

    function has_punctuation(str) {
    
      var p_found = false;
      var punctuations = '`~!@#$%^&*()_+{}|:"<>?-=[]\;\'.\/,';
      $.each(punctuations.split(''), function(i, p) {
        if (str.indexOf(p) != -1) p_found = true;
      });
    
      return p_found;
    
    }

    0 讨论(0)
  • 2020-12-03 21:37

    Depending on your needs, you could use either

    Pattern.matches("\\p{Punct}", str)
    

    or

    Pattern.matches("\\p{IsPunctuation}", str)
    

    The first pattern matches the following 32 characters: !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~

    The second pattern matches a whopping 632 unicode characters, including, for example: «, », ¿, ¡, §, , , , , , and .

    Interestingly, not all of the 32 characters matched by the first pattern are matched by the second. The second pattern does not match the following 9 characters: $, +, <, =, >, ^, `, |, and ~ (which the first pattern does match).

    If you want to match for any character from either character set, you could do:

    Pattern.matches("[\\p{Punct}\\p{IsPunctuation}]", str)
    
    0 讨论(0)
  • 2020-12-03 21:40

    import String ... if(string.punctuation.contains(letter[a]))

    0 讨论(0)
  • 2020-12-03 21:51

    Try this method: Character.isLetter(). It returns true if the character is a letter (a-z, uppercase or lowercase), returns false if character is numeric or symbol.

    e.g. boolean answer = Character.isLetter('!');

    answer will be equal to false.

    0 讨论(0)
  • 2020-12-03 21:55

    Here is one way to do it with regular expressions:

    if (Pattern.matches("\\p{Punct}", str)) {
        ...
    }
    

    The \p{Punct} regular expression is a POSIX pattern representing a single punctuation character.

    0 讨论(0)
提交回复
热议问题