【Java】Java Stringクラスでよく使われるメソッド

序文

String クラスは java.lang パッケージにあり、Java は String クラスを使用して文字列変数を作成し、その文字列変数はオブジェクトに属します。StringBuffer および StringBuilder クラスは、作成後に String クラスのオブジェクトを変更することはできません。この時点で、なぜ String 変数の割り当てが変更されないのかを尋ねます。実際にはそうではありません。割り当て後、新しいコンテンツを保存するために新しいオブジェクトが生成されます。元のオブジェクトはまだメモリ内にありますが、それを指していません。その後、このオブジェクトはガベージ メモリになり、ある瞬間に Java 仮想マシンによってリサイクルされます。二重引用符のペアで囲みます。

String 文字列変数の作成:

宣言: 文字列変数名。

String str;

宣言と初期化:
String 変数名 = "初期値";

String str = "我的_Java例子";

1、int length();

構文: string 変数名.length();
戻り値は int 型です。文字列内の文字数を取得します (中国語、英語、スペース、エスケープ文字はすべて長さとしてカウントされます)

コードは次のとおりです(例)。

String a="我的_Java例子";
        int l = a.length();
        System.out.println(l);
输出的结果为9

2. char charAt(value);

構文: string name.charAt(value); 戻り値は char 型です。文字列から指定した位置の文字を抽出します

コードは次のとおりです(例)。

String str="我的_Java";
        char c = str.charAt(3);
        System.out.println("指定字符为:" + c);
运行结果:指定字符为:J

3、char toCharArray();

構文: string name.toCharArray(); 戻り値は char 配列型です。文字列を文字の配列に変換します

コードは次のとおりです(例)。

String str="我的了"char c[] = str.toCharArray(); 
for (int i = 0; i < c.length; i++)
System.out.println("转为数组输出:" + c[i]);
运行结果:
转为数组输出:我
转为数组输出:忘
转为数组输出:

4. intindexOf("文字")

構文: string name.indexOf("character"); string name.indexOf("character", value); 指定された文字列が存在するかどうかを調べ、文字列の位置を返し、存在しない場合は -1 を返します。
  in lastIndexOf("character") 指定されたコンテンツの最後に出現する添え字を取得します。
コードは次のとおりです (例):

String str = "I am a good student";
        int a = str.indexOf('a');//a = 2
        int b = str.indexOf("good");//b = 7
        int c = str.indexOf("w", 2);//c = -1
        int d = str.lastIndexOf("a");//d = 5
        int e = str.lastIndexOf("a",3);//e = 2
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println(d);
        System.out.println(e);
运行结果:
转为数组输出:2
转为数组输出:7
转为数组输出:-1
转为数组输出:5
转为数组输出:2

5. toUpperCase(); toLowerCase(); 文字列の大文字と小文字の変換

String str="hello world";
System.out.println("将字符串转大写为:" + str.toUpperCase());
System.out.println("将字符串转换成小写为:" + str.toUpperCase().toLowerCase());

操作結果:

将字符串转大写为:HELLO WORLD
将字符串转换成小写为:hello world

6. String[] split("文字")

指定された正規表現の一致に基づいてこの文字列を分割します。新しい String 配列を作成します。

String str = "boo:and:foo";
String[] arr1 = str.split(":");
String[] arr2 = str.split("o");
运行结果:
  arr1  //{ "boo", "and", "foo" }
  arr2  //{ "b", "", ":and:f" }

7、ブール値に等しい(オブジェクト anObject)

構文: String 変数名.equals (string 変数名); 戻り値は Boolean です。ここでは if のデモンストレーションを示します。2 つの文字列が等しいかどうかを比較し、ブール値を返します。

String str = "hello";
        String str1 = "world";
        if (str.equals(str1)) {
    
    
            System.out.println("这俩字符串值相等");
        } else {
    
    
            System.out.println("这俩字符串值不相等");
        }
运行结果:
这俩字符串值不相等

8、トリム()

文字列 replace(char oldChar, char newChar) の左右のスペースを削除します。古い文字が新しい文字に置き換えられ、スペースを削除する効果も得られます。

String str = "      我的_Java例子         ";  
System.out.println("去掉左右空格后:" + str.trim());

操作結果:

去掉左右空格后:我的_Java例子

2 番目のタイプ:

String str = "       我的_Java例子         ";  
System.out.println("去掉左右空格后:" + str.replace(" ","")); 

操作結果:

去掉左右空格后:我的_Java例子

9. 文字列 substring(int beginIndex,int endIndex) が文字列をインターセプトします

String str = "123我的_Java例子456";
        System.out.println("截取后的字符为:" + str.substring(0, 3));// 截取0-3个位置的内容   不含3
        System.out.println("截取后字符为:" + str.substring(2));// 从第3个位置开始截取    含2

操作結果:

截取后的字符为:123
截取后字符为:3我的_Java例子456

10、ブール値 =IgnoreCase(String)

大文字と小文字を区別せず、2 つの文字列の値が完全に同じかどうかを比較し、ブール値を返します

String str = "123我的_Java例子456";
        System.out.println("截取后的字符为:" + str.substring(0, 3));// 截取0-3个位置的内容   不含3
        System.out.println("截取后字符为:" + str.substring(2));// 从第3个位置开始截取    含2

操作結果:

截取后的字符为:123
截取后字符为:3我的_Java例子456

11、ブール値には(文字列)が含まれます

文字列に指定された内容が含まれているかどうかを判断し、ブール値を返します。

   String str = "HELLO WORLd";
    String str1 = "WO";
    if (str.contains(str1)) {
    
    
        System.out.println("str内容中存在WO");
    } else {
    
    
        System.out.println("抱歉没找着");
    }

操作結果:

str内容中存在WO

12、ブール値startsWith(String)

この文字列が指定されたプレフィックスで始まるかどうかをテストします。ブール値を返します

   String str = "HELLO WORLd";
    String str1 = "HE";
    if (str.startsWith(str1)) {
    
    
        System.out.println("str内容中存在HE前缀开头");
    } else {
    
    
        System.out.println("抱歉没找着");
    }

操作結果:

str内容中存在HE前缀开头

13、ブール値 endWith(String)

この文字列が指定されたサフィックスで終わるかどうかをテストします。ブール値を返します

String str = "我的例子";
        String str1 = "例子";
        if (str.endsWith(str1)) {
    
    
            System.out.println("str内容中存在\'例子\'后缀结束");
        } else {
    
    
            System.out.println("抱歉没找着");
        }

操作結果:

str内容中存在'例子'后缀结束

14. replace メソッドは上で説明したもので、続けて追加します。

String replaceAll(String,String) すべてのコンテンツを指定されたコンテンツに置き換えます
String replaceFirst(String,String) 特定のコンテンツの最初の出現を指定されたコンテンツに置き換えます

String str = ",,,,,,我的例子,,,,, ";
        System.out.println("改变后:" + str.replaceAll(",", "a"));

操作結果:

改变后:aaaaaa我的例子aaaaa 
  String str = ",,,,,,我的例子6不,,,,, ";
        System.out.println("改变后:" + str.replaceFirst("6不", "很6"));

操作結果:

  改变后:,,,,,,我的例子很6,,,,, 

おすすめ

転載: blog.csdn.net/u011397981/article/details/131850588