String/基本字符操作

3 篇文章 0 订阅

常用操作包括加减乘除、切分:

1. 从前后2个方向扫描,进行(index -> 指定字符)映射

int indexOf(int ch) //返回指定字符在此字符串中第一次出现处的索引。 
int indexOf(String str) //返回指定子字符串在此字符串中第一次出现处的索引。
int indexOf(int ch, int fromIndex) //返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。  
int indexOf(String str, int fromIndex) //返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。
//返回指定字符在此字符串中最后一次出现处的索引。 
int lastIndexOf(int ch) 
//返回指定子字符串在此字符串中最右边出现处的索引。     
int lastIndexOf(String str) 
//返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索。      
int lastIndexOf(int ch, int fromIndex) 
//返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索。        
int lastIndexOf(String str, int fromIndex)         

2.从指定位置截取,常同1.配合使用

//返回一个新的字符串,从指定index截取,包含begin。 
String substring(int beginIndex) 
//返回一个新字符串,包头不包尾。        
String substring(int beginIndex, int endIndex)        

排序

1.compareTo

#按字典顺序比较两个字符串。
int compareTo(String anotherString)        

2.sort(T[] a, Comparator<? super T> c)

static Comparator<String> CASE_INSENSITIVE_ORDER 
          一个对 String 对象进行排序的 Comparator,作用与 compareToIgnoreCase 相同 
public static void main(String[] args){
	String[] rawStrings =
	{"B", "com.lan", "b", "A", "a", "c", "C"};
	System.out.println(Arrays.toString(rawStrings));
	// 使用String.CASE_INSENSITIVE_ORDER进行排序
	Arrays.sort(rawStrings, String.CASE_INSENSITIVE_ORDER);
	System.out.println(Arrays.toString(rawStrings));
}

比较

#将此 String 与另一个 String 比较,不考虑大小写。 
boolean equalsIgnoreCase(String anotherString) 

大小写切换

String toLowerCase() 
          使用默认语言环境的规则将此 String 中的所有字符都转换为小写。 
String toLowerCase(Locale locale) 
          使用给定 Locale 的规则将此 String 中的所有字符都转换为小写。 
String toUpperCase() 
          使用默认语言环境的规则将此 String 中的所有字符都转换为大写。 
String toUpperCase(Locale locale) 
          使用给定 Locale 的规则将此 String 中的所有字符都转换为大写。

判断首尾字符

boolean startsWith(String prefix) 
          测试此字符串是否以指定的前缀开始。 
boolean startsWith(String prefix, int toffset) 
          测试此字符串从指定索引开始的子字符串是否以指定前缀开始。
boolean endsWith(String suffix) 
          测试此字符串是否以指定的后缀结束。

替换

String replace(char oldChar, char newChar) 
          返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的`所有` oldChar 得到的。 
String replace(CharSequence target, CharSequence replacement) 
          使用指定的序列替换此字符串`所有`匹配的子字符串。 
String replaceAll(String regex, String replacement) 
          使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。 
 String replaceFirst(String regex, String replacement) 
          使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。

去除首尾空格

String trim()           

example

1. 删除最后一个字符

str4 = str4.substring(0, str4.length() -1);

2. 获取后缀

suffix = str.substring(str.lastIndexOf(".") + 1)

trap

StringBuilder和String进行equals比较时,即使值一摸一样,也会报不相等,要先转成toString()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值