声明
1)该文章整理自网上的大牛和专家无私奉献的资料,具体引用的资料请看参考文献。
2)本文仅供学术交流,非商用。如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主删除。
3)博主才疏学浅,文中如有不当之处,请各位指出,共同进步,谢谢。
4)此属于第一版本,若有错误,还需继续修正与增删。还望大家多多指点。大家都共享一点点,一起为祖国科研的推进添砖加瓦。
//java在一串字符串中从指定位置开始读取,到指定字符读取
//调用String类的以下三个函数就行了:
//1、public int indexOf(int ch)
//返回指定字符在此字符串中第一次出现处的索引
//2、public int indexOf(int ch,int fromIndex)
//返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。
//3、public String substring(int beginIndex,int endIndex)
//返回一个新字符串,它是此字符串的一个子字符串。
//该子字符串从指定的 beginIndex 处开始,直到索引 endIndex - 1 处的字符。
public class Demo {
public static void main(String[] args) {
String substr, str = "skak+〈a〉/*&s-〈中文中文中文〈@-sj4675";
int begin = str.indexOf('中'), end = str.indexOf('〈', begin + 1) + 1;
substr = str.substring(begin, end);
System.out.println(substr);
}
}
Java中字符串截取
1.使用StringUtils,需要导包
String strs = "abcdef1003535197";
System.out.println("=====2======" + StringUtils.substringBefore(strs, "3")); //从开始截取到第一个“3”(不包含)
System.out.println("=====3======" + StringUtils.substringBeforeLast(strs, "3")); //从开始截取到最后一个“3”(不包含)
System.out.println("=====4======" + StringUtils.substringAfter(strs, "3")); //从第一个“3”(不包含)截取到末尾
System.out.println("=====5======" + StringUtils.substringAfterLast(strs, "3")); //从最后一个“3”(不包含)截取到末尾
2.直接使用substring
String str = "1234567890ABCDEFG4";
System.out.println("-----------" + str.substring(0)); //从字符串索引为0截取,一直到末尾
System.out.println("-----1------" + str.substring(6,7)); //截取索引为6的字符
System.out.println("-----2------" + str.substring(str.length()-3, str.length()-1)); //截取字符串倒数3,2位
System.out.println("-----3------" + str.substring(0, str.indexOf("4"))); //从字符串索引为0截取,一直到第一个“4”(不包含)
System.out.println("-----4------" + str.substring(str.indexOf("4") + 1, str.length())); //从第一个“4”截取,一直到末尾
System.out.println("-----5------" + str.substring(str.indexOf("4"), str.indexOf("F"))); //从第一个“4”截取,一直到第一个“F”(不包含)
System.out.println("-----D------" + str.substring(13, 14)); //截取索引为13的字符
System.out.println("=====6=====" + strs.substring(6, strs.length())); //从下标6(包含)开始截取到末尾
System.out.println("=====7=====" + strs.substring(0, 2)); //截取前两位
System.out.println("=====8=====" + strs.substring(strs.lastIndexOf("3") + 1, strs.length())); //从最后一个“3”(不包含)截取到末尾
import org.apache.commons.lang3.StringUtils;
java StringUtils 截取字符串,
/*1. 截取指定位置的字符串*/
StringUtils.substring("dskabcee", 3);
/*结果是:abcee*/
StringUtils.substring("dskabcee", 3, 5);
/*结果是:ab*/
/*2. 截取指定字符串之前的内容 */
StringUtils.substringBefore("dskeabcee", "e");
/*结果是:dsk*/
StringUtils.substringBeforeLast("dskeabcee", "e");//一直找到最后一个指定的字符串
/*结果是:dskeabce*/
StringUtils.substringAfter("dskeabcedeh", "e");
/*结果是:abcedeh*/
StringUtils.substringAfterLast("dskeabcedeh", "e");
/*结果是:h*/
/*3. 截取参数2和参数3中间的字符*/
StringUtils.substringBetween("dskeabcedeh", "ds");
/*结果是:null*/
StringUtils.substringBetween("dskeabcedeh", "ds","e");
/*结果是:k*/
StringUtils.substringsBetween("dskeabcedeh", "ds","e");//以数组方式返回参数2和参数3中间的字符串
/*结果是:k */