長さ()
文字列オブジェクトの長さを返します。
String string = "abcd";
int len = string.length();
System.out.println(len);
次のような結果を操作します:
4
charAt()
チャーのcharAt(int index)指定されたインデックス(とらすなわち、文字)でchar値を返します。
String str = "hello world";
char ch = str.charAt(6);
System.out.println(ch);
次のような結果を操作します:
w
compareTo()
ストリングクラスのcompareTo()メソッドは、2つの文字列オブジェクトの比較の結果を返します。辞書文字列パラメータ、この文字列オブジェクトが配置される前に、比較結果が負の整数である場合、文字列パラメータ辞書この文字列オブジェクトが配置されている場合、次いで、比較結果が正の整数です。等しい場合は、0を返します。
等しくない場合は、最初の文字列を比較する2つのスタートは、最初の文字の差に等しくされていないが返されます。長い文字列の前の部分が短く、文字列であることを起こる場合は、その長さの差に戻ります。
String s1 = "abc";
String s2 = "abcd";
String s3 = "abcdfg";
String s4 = "1bcdfg";
String s5 = "b";
System.out.println(s1.compareTo(s2));
System.out.println(s1.compareTo(s3));
System.out.println(s1.compareTo(s4));//48 ("a"的ASCII码是97,"1"的的ASCII码是49,所以返回48)
System.out.println(s1.compareTo(s5));//-1 ("a"的ASCII码是97,"b"的ASCII码是98,所以返回-1)
次のような結果を操作します:
-1
-3
48
-1
サブストリング()
Stringクラスに2つの部分文字列()メソッドは、最初のように、次の、があります。
substring(int start)
開始インデックスを開始位置であると解釈され、この方法は、開始から中間データの元の文字列の最後に開始して、文字列、元の文字列の内容を返します。
スタートは、文字列の長さよりも大きい場合、境界の例外がスローされます。
String str = "hello word!";
System.out.println(str.substring(1));
System.out.println(str.substring(3));
System.out.println(str.substring(6));
次のような結果を操作します:
ello word!
lo word!
word!
第二のサブストリング()メソッド:
substring(int start, int end)
前記インデックス開始位置が開始され、指数までエンドツーエンド、方法は、開始から中間データの終わりの終了位置を開始する、文字列、元の文字列の内容を返します。
注:を含む開始位置が、終了位置が含まれていません。
String str = "hello word!";
System.out.println(str.substring(1, 4));
System.out.println(str.substring(3, 5));
System.out.println(str.substring(0, 4));
次のような結果を操作します:
ell
lo
hell
indexOf()、のlastIndexOf()
サブストリングの複数の存在は、最小の整数値を返す場合のindexOf()メソッドは、オブジェクトクラス文字列のサブストリングを検索するために使用され、この方法は、サブストリングの開始位置として、整数値を返し、サブ文字が見つからない場合文字列は、-1を返します。
String str1 = "abcdefghijklmnabc";
System.out.println(str1.indexOf("c"));
System.out.println(str1.indexOf("x"));
次のような結果を操作します:
2
-1
indexOf()メソッドは、指定された場所から検索することができ、2つのパラメータを有することができます。
lastIndexOf()メソッドは、最後に出現する位置のサブストリングを返します。
等号()
1 == 1、1に等しく使用され、そして使用して、同じ文字列があるため、この方法は必要と等しいかどうかを判断する:データの2つの基本的なタイプが同じであるJavaは、例えば二重等号を使用するかどうかを決定します各ストリングは、異なるメモリアドレスを有していてもよく、同じメモリアドレスであるか否かを決定する==。そして例がたくさんあるので、正確にそれらが等しいかどうかを確認することができない二重の等号を使用し、メモリアドレスの2つの文字列が異なりますが、文字列の値が同じです。
String str1 = new String("张三");
String str2 = new String("张三");
System.out.println(str1 == str2);
System.out.println(str1.equals(str2));
次のような結果を操作します:
false
true
スプリット()
与えられた正規表現のマッチングは、この文字列を分割します。
特別な状況:
| ^ $ * + / | []() - \これらの文字は、正規表現の一部であり、したがって、splitメソッドを表しているので、彼らはエスケープ文字を使用する必要があります。
String str = "abc.def.ghi.jk";
String str1[] = str.split("\\.");
for(int i = 0; i < str1.length; i++)
System.out.print(str1[i] + " ");
次のような結果を操作します:
abc def ghi jk
一般的な文字列メソッド
int型の長さ()は、文字列の現在の長さを返し
INTのindexOf(文字列str)は、文字列の文字列strのサブの最初の発生の位置を返す
の最後に出現する部分文字列の位置を見つけるSTRのlastIndexOf(文字列str)INT
ブール文字列の比較対象等しい(オブジェクトOBJ)を指定し、戻りtrueまたはfalseの
抽出の前と後の文字列TRIM()は、スペースの文字列を返す
文字列[]スプリット(文字列str)を返し分割後、係る列strの文字列を分割文字列配列の
文字列toLowerCaseメソッドすべて小文字の大文字()ストリング
をすべて大文字に小文字の文字列内の文字列は、toUpperCase()
いくつかの例:
- Javaは、正しいメールボックス形式かどうかを判断するために、入力ファイル名が正しいかどうかを決定します。ここで、法律上のファイル名は.javaファイルで終わるべきである。正当なメールボックス名を尋ねる前に少なくとも@と@が含まれている必要があります。
public void judge(String fileName, String email){
if(fileName.lastIndexOf(".java") == fileName.length() - 5 && fileName.length() != 5)
System.out.println("Java文件名正确");
else
System.out.println("Java文件名无效");
if(email.indexOf(".") > email.lastIndexOf("@") && email.lastIndexOf("@") != -1)
System.out.println("邮箱名正确");
else
System.out.println("邮箱名无效");
}
- 全ての位置の名称が表示されますが、データ文字列で検索します
public class NameSearch {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String data = scanner.next();
String name = scanner.next();
int index = 0;
while(data.indexOf(name, index) != -1) {
index = data.indexOf(name, index);
System.out.println(index);
index += 1;
}
}
}
- 標準入力URL、出力体のドメイン名;本体は、プリントアウトを大文字に変換されます。
import java.util.Scanner;
public class StringTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.next();
int index = str.indexOf(".");
index ++;
int index2 = str.indexOf(".", index);
String str1 = str.substring(index, index2); //定位域名主体位于两个"."之间
System.out.println(str1);
String str2 = str1.toUpperCase();//小写转换成大写
System.out.println(str2);
}
}