zoukankan      html  css  js  c++  java
  • java 字符串处理

    字符串类型

    • String

      String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。
      字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的,所以可以共享。

    • StringBuffer

      线程安全的可变字符序列。一个类似于 String 的字符串缓冲区,但不能修改。虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容。

    • StringBuilder

      一个可变的字符序列。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。

    • 转化

      String s = "string";
      StringBuffer str = new StringBuffer(s);
      String s = str.toString();
      

    字符串与字符数组

    • 字符串转字符数组

      String s = "string";
      char[] chars = s.toCharArray();
      
    • 字符数组转字符串

      char[] chars = {'a','b'};
      String s = new String(chars);
      
      s = String.valueOf(chars);
      

    字符串与基本数据类型

    基本数据类型转String(String类)
    • static String valueOf(int i)

      返回 boolean 参数的字符串表示形式。 
      
    • static String valueOf(char[] data)

      返回 char 数组参数的字符串表示形式。 
      
    • static String valueOf(char[] data, int offset, int count)

      返回 char 数组参数的特定子数组的字符串表示形式。 
      
    String类型转基本数据类型
    String s = "1234";
    int i = new Integer(s).intValue;
    i = Integer.valueOf(s);
    i = Integer.parseInt(s);
    

    字符串替换

    • StringBuilder/StringBuffer/String replace(int start, int end, String str)

      使用给定 String 中的字符替换此序列的子字符串中的字符。
      
    • String replaceAll(String regex, String replacement)

      使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。 
      
    • String replaceFirst(String regex, String replacement)

      使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。 
      

    字符串截取

    • char charAt(int index)

      返回此序列中指定索引处的 char 值。 
      
    • String substring(int start)

      返回一个新的 String,它包含此字符序列当前所包含字符的子序列。 
      
    • String substring(int start, int end)

      返回一个新的 String,它包含此序列当前所包含字符的子序列。
      
    • String String.valueOf(char[] data, int offset, int count)

      返回 char 数组参数的特定子数组的字符串表示形式。 
      

    start - 起始索引(包含)。

    end - 结束索引(不包含)。

    字符串查找

    • int indexOf(String str)

      返回指定子字符串在此字符串中第一次出现处的索引。 
      
    • int indexOf(String str, int fromIndex)

      返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。 
      
    • int lastIndexOf(String str)

      返回指定子字符串在此字符串中最右边出现处的索引。 
      
    • int lastIndexOf(String str, int fromIndex)

      返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索。 
      

    字符串去空格

    • String trim()

      返回字符串的副本,忽略前导空白和尾部空白。 
      

    注意:只有String有此方法

    字符串反转

    • StringBuffer/StringBuilder reverse()

      将此字符序列用其反转形式取代。 
      

    注意: String类无此方法

    字符串分割

    • String[] split(String regex)

      根据给定正则表达式的匹配拆分此字符串。 
      
    • String[] split(String regex, int limit)

      根据匹配给定的正则表达式来拆分此字符串。 
      

    字符串转日期

    • long与date

      long dateTime = new Date.getTime();
      Date date = new Data(dateTime);
      
    • String转date

      SimpleDateFormat sdf =   new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );
      Date date = sdf.parse("2008-07-10 19:20:00");
      System.out.println("data.toString()"+date);
      输出:
      data.toString()Thu Jul 10 19:20:00 CST 2008
      
    • date转String

      SimpleDateFormat sdf =   new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );
      Date date = new Date();
      System.out.println("data.toString()"+date);
      String str = sdf.format(date);
      System.out.println("data-format:"+str);
      输出:
      data.toString()Mon Feb 25 00:35:07 CST 2019
      data-format:2019-02-25 00:35:07
      
    • 获取当前时间详细

      Calendar c = Calendar.getInstance();//可以对每个时间域单独修改
      int year = c.get(Calendar.YEAR);
      int month = c.get(Calendar.MONTH);
      int date1 = c.get(Calendar.DATE);
      int hour = c.get(Calendar.HOUR_OF_DAY);
      int minute = c.get(Calendar.MINUTE);
      int second = c.get(Calendar.SECOND);
      System.out.println(year + "/" + month + "/" + date1 + " " +hour + ":" +minute + ":" + second);
      输出:
      2019/1/25 0:41:51
  • 相关阅读:
    Send EMail from your .NET Application using your GMail Account
    ObjectContext 是开发人员在查询、添加和删除其实体实例以及将新状态保存回数据库时用到的主要构造
    AjaxPro使用说明
    .NET Framework 类库
    sysobjects syscolumns和SysTypes笔记
    javascript 懒加载技术(lazyload)简单实现
    WEB前端开发笔试题2
    css方框模型(盒模型Box Model)
    让IE支持CSS3选择器的方法(利用JS)
    让IE6/IE7/IE8浏览器支持CSS3属性
  • 原文地址:https://www.cnblogs.com/lifan1998/p/10428823.html
Copyright © 2011-2022 走看看