版权声明:wslixiaoliang https://blog.csdn.net/wslixiaoliang/article/details/82225707
1、String.charAt(index):字符串中,此索引位置的字符;
2、字符串1.indexOf("字符串2")://返回第一次出现字符串2,在字符串1中的索引;
3、字符串a 包含字符串 b
if(string1.indexOf(str1)==-1): 说明字符串str1 不在string1中;
if(!string2.contains(str2))为true :说明string2 中不包含子串str2;
4、判断两个字符串是否相等:if(str1.equas(str2))
5、截取子串
str.substring(0,eq) ;//截取开始索引,到结束索引之间的子字符串,不包含结束索引的字符(即截取到结束索引对应字符的前一位);
str.substring(eq+1);//从此下标开始截取,包含此下标所代表的字符;
举例:
//输入包含"="的字符串,截取"="两边的子字符串,分别存入Map的key value,返回Map(使用时遍历map getkey getvalue 即可)
public static void _warpStrMap(String str,java.util.Map fromMap)
{
//比如输入字符串str为:12abc=xyzhj
int eq = str.indexOf("=");//返回第一次出现的指定子字符串在此字符串中的索引;
String name = (eq > -1 )? str.substring(0,eq) : str;//截取开始索引,到结束索引之间的字符串,不包含结束索引的字符(即截取到结束下标的前一位);
String value = (eq > -1 )? str.substring(eq+1) : str;//从此下标开始截取,包含此下标所代表的字符;
fromMap.put(name.trim(),value);//String.trim()去掉字符串首尾的空格;
}
6.String 的replace和replaceAll的区别
1、将里面的“kk”替换为++,可以使用两种方法得到相同的结果
String.replace("kk", "++")
String.replaceAll("kk", "++")
String.replace("/",",");将/替换成 ,
2、可见两个函数没有什么区别,下面将字符串中的“\\”替换为“++”
System.out.println(x.replace("\\", "++")); 没有问题
System.out.println(x.replaceAll("\\", "++")); 报错 java.util.regex.PatternSyntaxException
总体原则:当字符串无法确定是否具有转义字符时,而且也不需要转义时,建议使用replace函数,其他情况皆可使用replaceAll函数。
7.分割字符串,以逗号隔开
/**
* 分割字符串,以逗号隔开
* @author wslixiaoliang
*/
public class SplitString
{
private static Logger logger = LoggerFactory.getApplicationLog(SplitString.class);
public static String[] splitStr(String str)
{
if(StringUtil.isNotEmpty(str)) {
int eq = str.indexOf(",");
if(eq > -1) {
return str.split(",");
}else{
return new String[]{str};
}
}else{
return null;
}
}
8.Stringbuder拼接字符串,应该这样搞
/**
* Stringbuder拼接字符串,应该这样搞
* @author wslixiaoliang
*/
if(sub.length() > 0)
{
sub.append(",").append(browsPrivate.getRoleId());
}
else
{
sub.append(browsPrivate.getRoleId());
}