截取字符串的三种方法


stringOf()、lastIndexOf()和Substring()用法

一、lastIndexOf()

  1. string str = "abcdefg";
    str = str.Substring( 0, str.LastIndexOf("c"));
    Response.Write(str);

输出效果:
  

lastIndexOf(“c”) 就是截取c前面的字符串。

2、根据下横线截取字符串的代码

(1)String str = "125aa_13_";

if (StringUtils.isNotEmpty(str)) {
str = str.substring(0, str.lastIndexOf("_") != -1 ?
str.lastIndexOf("_") :str.length());
}
下横线不在首位:

输出结果:

 

下横线在首位:

当字符串为 

 输出结果为:

 lastIndexOf(“_”)从后到前,截取“_”之前的所有元素,如果“_”在首位,则输出结果为空。

 indexOf和lastIndexOf的区别

  •   indexOf 和 lastIndexOf 都是索引文件
  •   indexOf 是查某个指定的字符串在字符串首次出现的位置(索引值)(从左往右)
  •        lastIndexOf 是查某个指定的字符串在字符最后一次出现的位置(索引值)(从右往左)
  • * lastIndexOf()方法虽然是从后往前搜索,但返回的位置是从前开始数的。

 

二、Substring()方法返回字符串的子字符串。

语法

public String substring(int beginIndex)  public String substring(int beginIndex, int endIndex)

  • beginIndex -- 起始索引(包括), 索引从 0 开始。

  • endIndex -- 结束索引(不包括)

 

string qian = null;
string hou = null;
string str = "abcdefg";
qian = str.Substring(0, 1);//从第一个开始截取,共截取一位
hou = str.Substring(str.Length - 1, 1);//从最后一个开始截取,共截取一位
Response.Write(qian + "***" + hou);

 

输出效果:

 

 

//编写一个Java程序,完成以下功能:

// 声明一个名为s的String对象,并使它的内容是"Under the sunshine";

// 打印整个字符串。

// 打印字符串的长度/*长度包括空格,字母等的长度*/

// 打印字符串的第一个字符

// 打印字符串的最后一个字符

// 方法打印字符串的第一个单词。

public class Student{

 public static void main(String[] args) {

   String s = "Under the sunshine";

        int len = s.length();

        char charAt=s.charAt(0);/*0是下标,表示第1个,以此类推其它的*/

        char charAt2=s.charAt(len-1);/*len-1是下标,表示第len个

        char只能表示单个字符

        千万不要写len这个下标,会报错,因为不存在len这个下标,下标最大为len-1*/

        System.out.println(s);

        System.out.println( "Under the sunshine长度 : " + len );

        System.out.println( "Under the sunshine的第一个字符 : " + charAt ); 

        System.out.println( "Under the sunshine的最后一个字符 : " + charAt2 );

        String a=s.substring(s.lastIndexOf(" ")+1);

        String a1=s.substring(s.lastIndexOf(" "));

        String a2=s.substring(s.lastIndexOf(" ")+2);

        String a3=s.substring(s.lastIndexOf(" ")-1);

System.out.println("字符串的最后一个单词"+a);

System.out.println("字符串的最后一个单词"+a1);

System.out.println("字符串的最后一个单词减去最后空格后一个字母"+a2);

System.out.println("字符串的最后一个单词加上最后空格前一个字母"+a3);

String b=s.substring(0,5);

System.out.println("字符串的第一个单词:"+b);

/*IndexOf、LastIndexOf都是返回一个位置,是个整数值;找不到都会自动返回 -1;

 * 一般来说,用户自定义的子函数如果返回值为 0,表示逻辑值为假值,

 * 若返回 1,表示逻辑值为真,返回 -1 表示失败、或者是结束状态

IndexOf是从左向右查,LastIndexOf是从右向左查,

不管是IndexOf还是LastIndexOf,索引序列都是从左到右的(起始值是0)

Substring是字符串截取,返回值是一个截取后的字符串。

*/

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM