Javaでは、正規表現を使用せずに文字列の最初の文字が大文字かどうかを調べます。Javaでは、文字列の最初の文字が正規表現なしの大文字であるかどうかを調べる方法
答えて
s
と仮定すると、空ではないです:
Character.isUpperCase(s.codePointAt(0));
行うには多くの方法があります:
はCharacter.isUpperCase(s.charAt(0))
または、divecで述べたように、それはU+FFFF
上記のコードポイントと文字のために動作させるためにそれは最も単純なものです:
boolean isUpperCase = Character.isUpperCase("My String".charAt(0));
手動でそれをチェックアウトする必要があるの値は、それが大文字である90から65の間にある場合は、int a = s.charAt(0)
を行うことができます。
実は、これは見た目よりも微妙です。
上記のコードは、コードポイントがU + FFFF(U + 1D4C3、MATHEMATICAL SCRIPT SMALL Nなど)を超えた小文字の誤った答えを返します。 String.charAtは、文字ではなく文字の半分であるUTF-16サロゲートペアを返します。したがって、String.codePointAtを使用する必要があります。これは0xFFFF(charではない)より上のintを返します。あなたはどうなる:
Character.isUpperCase(s.codePointAt(0));
はこれを見落とし気を悪くしないでください。用語は誤解を招くあなたはそれぞれ「文字」の値が文字を表していると思わせるために、ほとんどすべてのJavaプログラマーは、ひどくUTF-16を処理します。 UTF-16は、ほぼ固定された幅だが、それほど大きくないので、吸う。したがって、固定幅でないエッジケースはテストされない傾向があります。ある日まで、U + 1D4C3のような文字を含む文書が入ってきて、システム全体が爆発する。
String yourString = "yadayada";
if (Character.isUpperCase(yourString.charAt(0))) {
// print something
} else {
// print something else
}
我々は、詳細な例のためだけでなく
private static void findUppercaseFirstLetterInString(String content) {
Matcher m = Pattern
.compile("([a-z])([a-z]*)", Pattern.CASE_INSENSITIVE).matcher(
content);
System.out.println("Given input string : " + content);
while (m.find()) {
if (m.group(1).equals(m.group(1).toUpperCase())) {
System.out.println("First Letter Upper case match found :"
+ m.group());
}
}
}
正規表現を使用して大文字を見つけることができます。 http://www.onlinecodegeek.com/2015/09/how-to-determines-if-string-starts-with.html
文字列が空であるか、またはnull
かどうかを忘れずにチェックしてください。 null
または空であることを忘れると、指定されたStringがnullまたは空の場合、NullPointerException
またはStringIndexOutOfBoundException
が返されます。
public class StartWithUpperCase{
public static void main(String[] args){
String str1 = ""; //StringIndexOfBoundException if
//empty checking not handled
String str2 = null; //NullPointerException if
//null checking is not handled.
String str3 = "Starts with upper case";
String str4 = "starts with lower case";
System.out.println(startWithUpperCase(str1)); //false
System.out.println(startWithUpperCase(str2)); //false
System.out.println(startWithUpperCase(str3)); //true
System.out.println(startWithUpperCase(str4)); //false
}
public static boolean startWithUpperCase(String givenString){
if(null == givenString || givenString.isEmpty()) return false;
else return (Character.isUpperCase(givenString.codePointAt(0)));
}
}
最初にヌルと空をチェックし、既存の文字列を上位に変換することを確認してください。 Rabizのようなブール値を出力するには、S.O.Pを使用します。
public static void main(String[] args)
{
System.out.println("Enter name");
Scanner kb = new Scanner (System.in);
String text = kb.next();
if (null == text || text.isEmpty())
{
System.out.println("Text empty");
}
else if (text.charAt(0) == (text.toUpperCase().charAt(0)))
{
System.out.println("First letter in word "+ text + " is upper case");
}
}
- 1. 最初の文字を大文字にする正規表現
- 2. 大文字の最初の文字のhtml5正規表現
- 3. 正規表現 - 最初の文字を大文字とスペース
- 4. C#正規表現の最初の文字大文字残りの小文字
- 5. 正規表現は、文字列が最初の文字列が正しく
- 6. javascript - 正規表現の文字列を大文字にする
- 7. 文字列の最初の文字がLibreOffice Basicで非数値であるかどうかを調べる
- 8. Javaの正規表現英数字の文字列から最初のn文字を抽出する
- 9. C#で文字列が正規表現か通常の文字列かを調べる
- 10. 大文字のJava用正規表現(ギリシャ文字)
- 11. 単語の配列を強調表示する文字列の文の最初の大文字から最後に一致する正規表現
- 12. Java文字列の部分文字列が正規表現と一致するかどうかを調べるにはどうすればよいですか?
- 13. 文字列で正規表現するか、文字列で正規表現しないか?
- 14. 文字クラスのJava正規表現の不正なエスケープ文字
- 15. 正規表現は、すべての単語の最初の文字を大文字にする
- 16. 文字列が正規表現マッチのプレフィックスであるかどうかを調べる
- 17. 文字列内のJava正規表現文字
- 18. 正規表現の数字+文字列の文字列PHP
- 19. ( 'a'、 'b'、 'c'、 '。'、 '')にない文字列の最初の文字を取得する正規表現ですか?
- 20. 文字列に文字列配列の別の文字列が含まれているかどうかを正しく調べる方法は? - JAVA
- 21. 文字列が大文字かどうかを調べるプロトタイプを書く
- 22. 最初の文字が文字であるまで文字列から文字列を削除するには?
- 23. postgresqlでcharaterが大文字か小文字かを調べる方法は?
- 24. 正規表現の最初の文字が一致しない
- 25. Perlの正規表現は、私のような文字列が文字列
- 26. 正規表現での正規表現9文字の文字列からの数字のタイプ
- 27. Pythonの文字リストで文字列を作成できるかどうかを調べる最速の方法
- 28. Python regex:文字列中の文字が正規表現にマッチした部分文字列の範囲内にあるかどうかをチェックする方法?
- 29. 文字列の最初の文字を大文字にする方法がありますか?
- 30. 正規表現のみの文字1つの大文字
非ASCII文字についてはどうですか?あなたはそれが唯一のASCII文字コード処理のためのものであることを正しい@vitaut – vitaut
.... –