java String是使用

package com.bewer.class0320;

import java.io.UnsupportedEncodingException;
import java.util.Locale;

import oracle.sql.CHAR;

public class StringTe {

public static void main(String[] args) {
lessUser();
usualUse();
regexString();

}
static void lessUser(){
String str="abcdef";
//1  表示的是指定索引的char的值,索引是从0开始的
char c=str.charAt(1);
System.out.println("表示的是指定索引的char值:"+c);
//2.1  copyValueOf(是char的数组)  copy的所有
char[] cr={'e','t','y'};
String copyAll=String.copyValueOf(cr);
//2.2 copy的部分
String copyPart=String.copyValueOf(cr,1,2);
System.out.println("返回指定数组中表示该字符序列的String(copyAll):"+copyAll);
System.out.println("返回指定数组中表示该字符序列的String(copyPart):"+copyPart);
//3  将字符串转为byte数组(字节(编码))
byte[] by=str.getBytes();
for(byte be:by){
System.out.println("将字符串转为byte数组(字节(编码)):"+be);
}

/** 4
*  //创建数组
String[] a = new String[3];
str.getChars(int srcBegin,int srcEnd,char[] dst, int dstBegin) 
* 表示的意思是:str得到char的所有元素,从str的要复制的起始位置和要结束的位置,复制到
* dst的数组中,int dstBegin 表示的是要从dts数组中那个索引复制起
*           
*/
char[] t = new char[5];
str.getChars(1,str.length()-1,t,1);
for(char f:t){
System.out.println("把str的char复制到t的数组中:"+f);
}

//5 str=abcdef
String st="aabbabcdefdaabcdef";
int ind=st.indexOf("c");
System.out.println("表示的是c在st中第一次出现的索引:"+ind);
/** 5.1
* st.indexOf(String str,int fromIndex):表示的是,在st中要找的str的字符串,
* fromIndex:表示的是要在st中哪个起始位置开始找.
* 如果在st中不存在str的字符,那就返回一个 -1值
*
*/
int po=st.indexOf(str,1);
System.out.println("在st中找str的子集的索引位置:"+po);

//6 lastIndexOf("最后一次出现的字符 的索引")
int lastIn=st.lastIndexOf("a");
System.out.println("表示的是st最后一次出现的索引值:"+lastIn);
//6.1 表示的是出现c的字符,在指定的索引下标的10的位置(反向)开始找索引下标
int lastIn2=st.lastIndexOf("c",10);
System.out.println("表示的是出现c的字符,在指定的索引下标的10的位置(反向)开始找索引下标:"+lastIn2);
//6.2在st中查找出现str的最右边(最后)出现处的索引:
int lastIn3=st.lastIndexOf(str);
System.out.println("在st中查找出现str的最右边(最后)出现处的索引:"+lastIn3);
//6.3 在st中找str从指定的索引开始反向搜索:
int lastIn4=st.lastIndexOf(str,19);
System.out.println("在st中找str从指定的索引开始反向搜索:"+lastIn4);


/**
* 7 regionMatches(int toffset,str6,ooffset,int len) 表示的是两个字符串区域进行比较,
* toffset -表示的是str5的比较位置
* ooffset--表示的是str6的比较位置
* len - 要比较的字符数。
*/
String str5="anal hollow anal";
String str6="tAnal";
//7.1  true表示的是忽略大小写,默认的是false
boolean be3=str5.regionMatches(true,0,str6, 1, 2);
System.out.println("true表示的是忽略大小写:"+be3);
boolean be2=str5.regionMatches(0,str6,1,2);
System.out.println("测试两个字符串区域是否相等(默认的是false:):"+be2);

//8 判断str5是否是指定的前缀开始
boolean be4=str5.startsWith("a");
System.out.println("判断str5是否是指定的前缀开始:"+be4);
//8.1 测试字符串从指定索引开始的子字符串是否以指定前缀开始
boolean be5=str5.startsWith("a", 2);
System.out.println("测试字符串从指定索引开始的子字符串是否以指定前缀开始:"+be5);
//9  将此字符串转换为一个新的字符数组
char[] car=str6.toCharArray();
for(char cr1:car){
System.out.println("将此字符串转换为一个新的字符数组:"+cr1);
}

String str7="  ABCD  efk ";
//10 将此字符串的大写换成小写
String lower=str7.toLowerCase();
//10.1将此字符串的小写换成大写
String upper=str7.toUpperCase();
//10.2  忽略前导空白和尾部空白
String trim=str7.trim();
System.out.println("将此字符串的大写换成小写:"+lower);
System.out.println("将此字符串的小写换成大写:"+upper);
System.out.println("忽略前导空白和尾部空白:"+trim);

//11 valueOf():有double/int/float/char/Object/long
int int1=12;
System.out.println("将整型转换为字符串:"+String.valueOf(int1));

char[] char2={'a','b','c','d','f'};
// 11.1 将char的数组转为String类型
String char3=String.valueOf(char2);
//11.2 将char的数组中指定的char转为String类型
String char4=String.valueOf(char2, 1, 2);
System.out.println("将char的数组转为String类型:"+char3);
System.out.println("将char的数组中指定的char转为String类型:"+char4);

}
static void usualUse(){
String str="abcdef";
//1  是否包含char值
boolean b=str.contains("a");
System.out.println("是否包含char值"+b);
//1.1  把str与CharSequence进行比较
boolean b1=str.contentEquals("abcdef");
System.out.println("将此字符串与指定的CharSequence进行比较:"+b1);
//2  判断字符串是否以指定的后缀结束:
boolean b3=str.endsWith("f");
System.out.println("判断字符串是否以指定的后缀结束:"+b3);
//3 将此字符串与指定的对象比较
boolean b4=str.equals("abcdef");
System.out.println("将此字符串与指定的对象比较:"+b4);
//3.1 将此String与另外一个String比较,不考虑大小写
boolean b5=str.equalsIgnoreCase("ABCDEF");
System.out.println("将此String与另外一个String比较,不考虑大小写:"+b5);
//4 判断str的length是否是0:
//注意:"  "空格也是有长度的
String j="  ";
boolean b2=j.isEmpty();
System.out.println("判断str的length是否是0:"+b2+"j的长度:"+j.length());
}
//  字符串的正则表达式:
static void regexString(){

String str4="2+3-5X5/";
//(一)匹配:matches(String regex)
String match="([1-9][X|+|/|-]){2,4}";
boolean be=str4.matches(match);
System.out.println("str4是否匹配match:"+be);
//(二)切割/切割的次数
String[] sp=str4.split("[X|+|/|-]");
String[] sp2=str4.split("[0-9]",3);
for(String s:sp){
//计算器运算
int zs=Integer.parseInt(s);
System.out.println("根据正则表达式切割字符串:"+s);
}
for(String s:sp2){

System.out.println("根据正则表达式切割字符串,3表是的是进行切割的次数:"+s);
}
/**
* 替换 replace(char oldChar, char newChar)
* 返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
*/
//(三) 替换
String str5="anal hollow anal";
String replace=str5.replace("a", "k");
System.out.println("把str5中的所有a替换成k,得到新的字符串:"+replace);
// 使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。
String replaceZi=str5.replace("anal", "kkk");
System.out.println("替换str5的子集:"+replaceZi);
// 使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
String replaceAll=str5.replaceAll("[a-z][n][a]?[l]", "replace");
System.out.println("把str5中的子字符串中能匹配正则表达式的式的替换:"+replaceAll);
//替换匹配正则表达式的式的第一个子字符串
String replaceFirst=str5.replaceFirst("[a-z][n][a]?[l]", "replaceFirst");
System.out.println("替换匹配正则表达式的式的第一个子字符串:"+replaceFirst);
//(四)获得  1
CharSequence get1=str5.subSequence(0, str5.length()-3);
System.out.println("从str5索引的start到end,获得str5的子集,:"+get1);
// 获得2
String get2 =str5.substring(3);
System.out.println("获得str5的下标3获得子集:"+get2);
String get3=str5.substring(3,str5.length());
System.out.println("获得str5的下标从3到7的子集:"+get3);
}

}

猜你喜欢

转载自1440434270.iteye.com/blog/2066347
今日推荐