Java字符串操作集合

jopen 10年前

 String str1 = "abcd";    String str2 = "abcdabcd";

//length():求字符串的长度
int len = str1.length();
System.out.println("字符串的长度:" +len);

//2.charAt(int index)取字符串中指定下标的一个元素
for (int i=0;i<len;i++) {
char c = str1.charAt(i);
System.out.println("下标" + i +"的值:" +c);
}

//3.codePointAt(int index):index 处字符的代码点值
for (int i=0;i<len;i++) {
int j = str1.codePointAt(i);
System.out.println("下标"+i+"的值:" +j);
}

//4.concat(String str) 将指定字符串连接到此字符串的结尾
String s1 = str1.concat("ABCD");
System.out.println(s1);

String s2 = str1.concat("");
System.out.println(s2);

//5.copyValueOf(char[] data):返回指定数组中表示该字符序列的 String
char[] data = {'a','b','c','d','e','f'};
String str = String.copyValueOf(data);
System.out.println(str);

//6.copyValueOf(char[] data, int offset, int count):返回指定数组中表示该字符序列的 String
char[] data = {'a','b','c','d','e','f'};
String s1 = String.copyValueOf(data, 2, 3);
System.out.println(s1);

//7.endsWith(String suffix):测试此字符串是否以指定的后缀结束
        //startsWith(String prefix)
boolean isd = str1.endsWith("d");
System.out.println("此字符串是否以d结尾:"+isd);

//8.equals(Object anObject):将此字符串与指定的对象比较
boolean iseql = str1.equals("abcd");
System.out.println(iseql);
boolean iseq2 = str1.equals("abc");
System.out.println(iseq2);

//9.equalsIgnoreCase(String anotherString):将此 String 与另一个 String 比较,不考虑大小写
boolean iseql = str1.equalsIgnoreCase("ABCD");
System.out.println(iseql);

//10.getByte():将字符串转化为字节数组
byte[] data = str1.getBytes();
for (int i=0;i<data.length;i++) {
System.out.println(data[i]+"\t");
}

//indexOf(int ch, int fromIndex):返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索
int i = str2.indexOf(97, 3);
System.out.println(i);
int t = str2.indexOf(99, 1);
System.out.println(t);
int k = str2.indexOf(97,5);
System.out.println(k);

//isEmpty():当且仅当 length() 为 0 时返回 true
boolean isempty1 = str1.isEmpty();
System.out.println(isempty1);
boolean isempty2 = "".isEmpty();
System.out.println(isempty2);

//substring(int beginIndex, int endIndex):返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的 beginIndex 处开始,直到索引 endIndex - 1 处的字符
String s1 = str2.substring(4,7);
System.out.println(s1);
String s2 = str2.substring(2,7);
System.out.println(s2);

//toCharArray():将此字符串转换为一个新的字符数组
char[] c = str1.toCharArray();
for (int r=0;r<c.length;r++){
  System.out.print(c[r]+"\t");
}

//valueOf
1. 由 基本数据型态转换成 String 
String 类别中已经提供了将基本数据型态转换成 String 的 static 方法 
也就是 String.valueOf() 这个参数多载的方法 
有下列几种 
String.valueOf(boolean b) : 将 boolean 变量 b 转换成字符串 
String.valueOf(char c) : 将 char 变量 c 转换成字符串 
String.valueOf(char[] data) : 将 char 数组 data 转换成字符串 
String.valueOf(char[] data, int offset, int count) : 

将 char 数组 data 中 由 data[offset] 开始取 count 个元素 转换成字符串 
String.valueOf(double d) : 将 double 变量 d 转换成字符串 
String.valueOf(float f) : 将 float 变量 f 转换成字符串 
String.valueOf(int i) : 将 int 变量 i 转换成字符串 
String.valueOf(long l) : 将 long 变量 l 转换成字符串 
String.valueOf(Object obj) : 将 obj 对象转换成 字符串, 等于 obj.toString() 
用法如: 
int i = 10; 
String str = String.valueOf(i); 
这时候 str 就会是 "10" 

2. 由 String 转换成 数字的基本数据型态 
要将 String 转换成基本数据型态转 
大多需要使用基本数据型态的包装类别 
比如说 String 转换成 byte 
可以使用 Byte.parseByte(String s) 
这一类的方法如果无法将 s 分析 则会丢出 NumberFormatException 
byte : 
Byte.parseByte(String s) : 将 s 转换成 byte 
Byte.parseByte(String s, int radix) : 以 radix 为基底 将 s 转换为 byte 
比如说 Byte.parseByte("11", 16) 会得到 17 
double : 
Double.parseDouble(String s) : 将 s 转换成 double 
float : 
Double.parseFloat(String s) : 将 s 转换成 float 
int : 
Integer.parseInt(String s) : 将 s 转换成 int 
long : 

Long.parseLong(String s)

3. final String url = "http://www.263.net/images/kk/sim_1.jpg";

String parts[] = url.split("/", 5);// ==》images/sim_1.jpg    截取字符串,指明大小
int location = (int) (Math.random()*ips.length);
location = 0;
String ip = ips[location];
//别越界了
String filePath = "http://"+ip+"/"+parts[4];
filePath = filePath.replace(".jpg", ".mp4"); //替换
System.out.println(filePath); //==>http://123.129.249.204/kk/sim_1.mp4

4. String url = http://v.cctv.com/flash/mp4video4/qgds/2010/08/07/qgds_h264418000nero_aac32_20100807_1281191449601-1.mp4&2&3&4&5&6&7&8&9

截取mp4以前的  url = url.substring(0,  mUrl.lastIndexOf(".mp4") + 4);

打出的log:url= http://v.cctv.com/flash/mp4video4/qgds/2010/08/07/qgds_h264418000nero_aac32_20100807_1281191449601-1.mp4

5. 截取 String mUrl = "http://www.263.net/images/sim_1.jpg";

mUrl = mUrl.substring(mUrl.lastIndexOf("/") + 1, mUrl.length());

打出log:sim_1.jpg

6.String转换为int型
String str;
int i = Integer.parseInt(str);

int型转换为String
int i;
String str = i.toString();

//convert i(int) to j(Integer)
int i;
Integer j = Integer.valueOf(i);
//convert t(Integer) to n (int)
Integer t;
int n = t.intValue();