java中String的操作api

创建一个字符串实例变量
StringBuffer buf = new StringBuffer("Java");
    // Append
   
   
    buf.append(" Almanac v1/");      // Java Almanac v1/
    buf.append(3);                   // Java Almanac v1/3
    
    // Set
   
   
    int index = 15;
    buf.setCharAt(index, '.');       // Java Almanac v1.3
    
    // Insert
   
   
    index = 5;
    buf.insert(index, "Developers ");// Java Developers Almanac v1.3
    
    // Replace
   
   
    int start = 27;
    int end = 28;
    buf.replace(start, end, "4");    // Java Developers Almanac v1.4
   
   
    
    // Delete
   
   
    start = 24;
    end = 25;
    buf.delete(start, end);          // Java Developers Almanac 1.4
   
   
    
    // Convert to string
   
   
    String s = buf.toString();
比较字符串
String s1 = "a";
    String s2 = "A";
    String s3 = "B";
    
    // Check if identical 监测是否一致
   
   
    boolean b = s1.equals(s2);           // false
   
   
    
    // Check if identical ignoring case
   
   
    b = s1.equalsIgnoreCase(s2);         // true
    
    // Check order of two strings 监测两个字符串的顺序
   
   
    int i = s1.compareTo(s2);            // 32; lowercase follows uppercase
   
   
    if (i < 0) {
        // s1 precedes s2
   
   
    } else if (i > 0) {
        // s1 follows s2
   
   
    } else {
        // s1 equals s2
   
   
    }
    
    // Check order of two strings ignoring case
   
   
    i = s1.compareToIgnoreCase(s3);      // -1
    if (i < 0) {
        // s1 precedes s3
   
   
    } else if (i > 0) {
        // s1 follows s3
   
   
    } else {
        // s1 equals s3
   
   
    }
    
    // A string can also be compared with a StringBuffer;
   
   
    StringBuffer sbuf = new StringBuffer("a");
    b = s1.contentEquals(sbuf);          // true
   
   
判断一个字符串中是否包含另外一个字符串
String string = "Madam, I am Adam";
    
    // Starts with
   
   
    boolean  b = string.startsWith("Mad");  // true
    
    // Ends with
   
   
    b = string.endsWith("dam");             // true
    
    // Anywhere
   
   
    b = string.indexOf("I am") > 0;         // true
    
    // To ignore case, regular expressions must be used
   
   
    
    // Starts with
   
   
    b = string.matches("(?i)mad.*");
    
    // Ends with
   
   
    b = string.matches("(?i).*adam");
    
    // Anywhere
   
   
    b = string.matches("(?i).*i am.*");
获取制定字符串中的子串
int start = 1;
    int end = 4;
    String substr = "aString".substring(start, end);   // Str
   
   
查询指定字符串中的子串以及字母的位置
String string = "madam, i am Adam";
    
    // Characters
   
   
    
        // First occurrence of a c
   
   
        int index = string.indexOf('a');    // 1
   
   
    
        // Last occurrence
   
   
        index = string.lastIndexOf('a');    // 14
   
   
    
        // Not found
   
   
        index = string.lastIndexOf('z');    // -1
   
   
    
    // Substrings
   
   
    
        // First occurrence
   
   
        index = string.indexOf("dam");      // 1
   
   
    
        // Last occurrence
   
   
        index = string.lastIndexOf("dam");  // 13
    
        // Not found
   
   
        index = string.lastIndexOf("z");    // -1
取代制定字符的函数操作
// Replace all occurrences of 'a' with 'o'
  
  
    String newString = string.replace('a', 'o');
取代制定字符串的操作
static String replace(String str, String pattern, String replace) {
        int s = 0;
        int e = 0;
        StringBuffer result = new StringBuffer();
    
        while ((e = str.indexOf(pattern, s)) >= 0) {
            result.append(str.substring(s, e));
            result.append(replace);
            s = e+pattern.length();
        }
        result.append(str.substring(s));
        return result.toString();
    }
转变字符串的大小写
// Convert to upper case
    String upper = string.toUpperCase();
    
    // Convert to lower case
    String lower = string.toLowerCase();
Converting a Primitive Type Value to a String
// Use String.valueOf()
    String s = String.valueOf(true);     // true
    s = String.valueOf((byte)0x12);      // 18
    s = String.valueOf((byte)0xFF);      // -1
    s = String.valueOf('a');             // a
    s = String.valueOf((short)123);      // 123
    s = String.valueOf(123);             // 123
    s = String.valueOf(
  
  
   
   123L
  
  );            // 123
    s = String.valueOf(
  
  
   
   1.23F
  
  );           // 1.23
    s = String.valueOf(1.23D);           // 1.23
    
    // Use +
   
   
    s = ""+true;                         // true
    s = ""+((byte)0x12);                 // 18
    s = ""+((byte)0xFF);                 // -1
    s = ""+'a';                          // a
    s = ""+((short)123);                 // 123
    s = ""+123;                          // 123
    s = ""+
  
  
   
   123L
  
  ;                         // 123
    s = ""+
  
  
   
   1.23F
  
  ;                        // 1.23
    s = ""+1.23D;                        // 1.23
Converting Between Unicode and UTF-8
try {
        // Convert from Unicode to UTF-8
   
   
        String string = "abc/u5639/u563b";
        byte[] utf8 = string.getBytes("UTF-8");
    
        // Convert from UTF-8 to Unicode
   
   
        string = new String(utf8, "UTF-8");
    } catch (UnsupportedEncodingException e) {
    }
Determining a Character's Unicode Block
char ch = '/u5639';
    Character.UnicodeBlock block = Character.UnicodeBlock.of(ch);
Determining If a String Is a Legal Java Identifier
// Returns true if s is a legal Java identifier.
  
  
    public static boolean isJavaIdentifier(String s) {
        if (s.length() == 0 || !Character.isJavaIdentifierStart(s.charAt(0))) {
            return false;
        }
        for (int i=1; i<s.length(); i++) {
            if (!Character.isJavaIdentifierPart(s.charAt(i))) {
                return false;
            }
        }
        return true;
    }
    // Some examples
    boolean b = isJavaIdentifier("my_var"); // true
    b = isJavaIdentifier("my_var.1");       // false
    b = isJavaIdentifier("$my_var");        // true
    b = isJavaIdentifier("/u0391var");      // true
    b = isJavaIdentifier("_");              // true
    b = isJavaIdentifier("___FCKpd___175quot;);              // true
    b = isJavaIdentifier("1$my_var");       // false

Numbers

精确计算类实例

package hxj;

import java.math.BigDecimal;

/**

* 由于Java的简单类型不能够精确的对浮点数进行运算,这个工具类提供精

* 确的浮点数运算,包括加减乘除和四舍五入。

*/

public class mymatch {

//默认除法运算精度

private static final int DEF_DIV_SCALE = 10;

//这个类不能实例化

private Arith() {}

/**

* 提供精确的加法运算。

* @param v1 被加数

* @param v2 加数

* @return 两个参数的和

*/

public static double add(double v1, double v2) {

BigDecimal b1 = new BigDecimal(Double.toString(v1));

BigDecimal b2 = new BigDecimal(Double.toString(v2));

return b1.add(b2).doubleValue();

}

/**

* 提供精确的减法运算。

* @param v1 被减数

* @param v2 减数

* @return 两个参数的差

*/

public static double sub(double v1, double v2) {

BigDecimal b1 = new BigDecimal(Double.toString(v1));

BigDecimal b2 = new BigDecimal(Double.toString(v2));

return b1.subtract(b2).doubleValue();

}

/**

* 提供精确的乘法运算。

* @param v1 被乘数

* @param v2 乘数

* @return 两个参数的

*/

public static double mul(double v1, double v2) {

BigDecimal b1 = new BigDecimal(Double.toString(v1));

BigDecimal b2 = new BigDecimal(Double.toString(v2));

return b1.multiply(b2).doubleValue();

}

/**

* 提供(相对)精确的除法运算,当发生除不尽的情况时,精确到

* 小数点以后10位,以后的数字四舍五入。

* @param v1 被除数

* @param v2 除数

* @return 两个参数的商

*/

public static double div(double v1, double v2) {

return div(v1, v2, DEF_DIV_SCALE);

}

/**

* 提供(相对)精确的除法运算。当发生除不尽的情况时,由scale参数指

* 定精度,以后的数字四舍五入。

* @param v1 被除数

* @param v2 除数

* @param scale 表示表示需要精确到小数点以后几位。

* @return 两个参数的商

*/

public static double div(double v1, double v2, int scale) {

if (scale < 0) {

throw new IllegalArgumentException("The scale must be a positive integer or zero");

}

BigDecimal b1 = new BigDecimal(Double.toString(v1));

BigDecimal b2 = new BigDecimal(Double.toString(v2));

return b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP).doubleValue();

}

/**

* 提供精确的小数位四舍五入处理。

* @param v 需要四舍五入的数字

* @param scale 小数点后保留几位

* @return 四舍五入后的结果

*/

public static double round(double v, int scale) {

if (scale < 0) {

throw new IllegalArgumentException("The scale must be a positive integer or zero");

}

BigDecimal b = new BigDecimal(Double.toString(v));

BigDecimal one = new BigDecimal("1");

return b.divide(one, scale, BigDecimal.ROUND_HALF_UP).doubleValue();

}

};

转变字符串为数字格式
byte b = Byte.parseByte("123");
    short s = Short.parseShort("123");
    int i = Integer.parseInt("123");
    long l = Long.parseLong("123");
    float f = Float.parseFloat("123.4");
    double d = Double.parseDouble("123.4e10");
Parsing and Formatting a Number into Binary, Octal, and Hexadecimal
 int i = 1023;
    
    // Parse and format to binary
    i = Integer.parseInt("1111111111", 2); // 1023
    String s = Integer.toString(i, 2);     // 1111111111
    
    // Parse and format to octal
    i = Integer.parseInt("1777", 8);       // 1023
    s = Integer.toString(i, 8);            // 1777
    
    // Parse and format to decimal
    i = Integer.parseInt("1023");          // 1023
    s = Integer.toString(i);               // 1023
    
    // Parse and format to hexadecimal
    i = Integer.parseInt("3ff", 16);       // 1023
    s = Integer.toString(i, 16);           // 3ff
    
    // Parse and format to arbitrary radix <= Character.MAX_RADIX
    int radix = 32;
    i = Integer.parseInt("vv", radix);     // 1023
    s = Integer.toString(i, radix);        // vv
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值