public class UsingString
{
    public static void testFindStr(String str)
    {
        System.out.println("is 的位置"+str.indexOf("is"));//返回第一次出现的位置若找不到返回负数
        System.out.println("is的位置"+str.indexOf("is",4));//从指定的位置开始查找
        System.out.println("is的位置"+str.lastIndexOf("is"));//返回最后一次出现的位置找不到返回负数
        System.out.println("is的位置"+str.lastIndexOf("is",4));// 从指定的位置开始查找    
    }
 
    public static void testSubStr(String str)
    {
        System.out.println(str.substring(2));//从2位置向后截取默认末尾位置是字符串的末尾
        System.out.println(str.substring(2,9));//从2位置向后截取默认末尾位置是字符串的末尾
 
    }
    public static void testReplayStr(String str)
    {
        System.out.println(str.replace('i','I'));//将所有的i替换为I
        System.out.println(str.replaceAll("Is", "is"));//将所有的Is替换为is
        System.out.println(str.replaceFirst("is", "Is"));//将第一个Is替换为is
    }
 
    public static void testToUpperOrLower(String str)
    {
        System.out.println(str.toUpperCase());//全部变成大写字母
        System.out.println(str.toLowerCase());//全部变成小写字母
    }
 
    public static void testCharAt(String str)
    {
        System.out.println(str.charAt(2));//获取第2个字母  从0开始
        System.out.println(str.toCharArray());//将字符串转换为字符数组 长度为字符串长度
    }
    public static void testCompare(String str)
    {
        System.out.println(str.compareTo("I am in Beijing"));//若大于则返回一个正数 小于返回一个负数 等于返回0
        System.out.println(str.compareToIgnoreCase("I am in Beijing"));//忽略大小写的方式比较    若大于则返回一个正数 小于返回一个负数 等于返回0
    }
 
    public static void testRegex( )//支持正则表达式
    {
        String str="aab       aaaa bb   ab";
        String pattern1="^[a-zA-Z| ]*";
        System.out.println(str.matches(pattern1)); 
        System.out.println(str.replaceAll("\\s{2,}",  " "));
        System.out.println(str.replaceFirst("\\s{2,}"," "));
        String []ss=str.split("\\s{1,}");//按照空格分隔字符串
        for(int i=0;i<ss.length;i++)
            System.out.println(ss[i]);
 
 
        String []ss1=str.split("\\s{1,}",3);//按照空格分隔字符串  最大分成三段
        for(int i=0;i<ss1.length;i++)
            System.out.println(ss1[i]);
    }
    public static void main(String[]args)
    {
        String string="This is string object!";
        UsingString.testFindStr(string);
        UsingString.testSubStr(string);
        UsingString.testReplayStr(string);
        UsingString.testToUpperOrLower(string);
        UsingString.testCharAt(string);
        UsingString.testCompare(string);
        UsingString .testRegex();
    }

使用string的更多相关文章

  1. 透过WinDBG的视角看String

    摘要 : 最近在博客园里面看到有人在讨论 C# String的一些特性. 大部分情况下是从CODING的角度来讨论String. 本人觉得非常好奇, 在运行时态, String是如何与这些特性联系上的 ...

  2. JavaScript String对象

    本编主要介绍String 字符串对象. 目录 1. 介绍:阐述 String 对象的说明以及定义方式. 2. 实例属性:介绍 String 对象的实例属性: length. 3. 实例方法:介绍 St ...

  3. ElasticSearch 5学习(9)——映射和分析(string类型废弃)

    在ElasticSearch中,存入文档的内容类似于传统数据每个字段一样,都会有一个指定的属性,为了能够把日期字段处理成日期,把数字字段处理成数字,把字符串字段处理成字符串值,Elasticsearc ...

  4. [C#] string 与 String,大 S 与小 S 之间没有什么不可言说的秘密

    string 与 String,大 S 与小 S 之间没有什么不可言说的秘密 目录 小写 string 与大写 String 声明与初始化 string string 的不可变性 正则 string ...

  5. js报错: Uncaught RangeError: Invalid string length

    在ajax请求后得到的json数据,遍历的时候chrome控制台报这个错误:Uncaught RangeError: Invalid string length,在stackoverflow查找答案时 ...

  6. c# 字符串连接使用“+”和string.format格式化两种方式

    参考文章:http://www.liangshunet.com/ca/201303/218815742.htm 字符串之间的连接常用的两种是:“+”连接.string.format格式化连接.Stri ...

  7. 【手记】注意BinaryWriter写string的小坑——会在string前加上长度前缀length-prefixed

    之前以为BinaryWriter写string会严格按构造时指定的编码(不指定则是无BOM的UTF8)写入string的二进制,如下面的代码: //将字符串"a"写入流,再拿到流的 ...

  8. JavaScript中String对象的方法介绍

    1.字符方法 1.1 charAt() 方法,返回字符串中指定位置的字符. var question = "Do you like JavaScript?"; alert(ques ...

  9. 在多线程编程中lock(string){...}隐藏的机关

    常见误用场景:在订单支付环节中,为了防止用户不小心多次点击支付按钮而导致的订单重复支付问题,我们用 lock(订单号) 来保证对该订单的操作同时只允许一个线程执行. 这样的想法很好,至少比 lock( ...

  10. BCL中String.Join的实现

    在开发中,有时候会遇到需要把一个List对象中的某个字段用一个分隔符拼成一个字符串的情况.比如在SQL语句的in条件中,我们通常需要把List<int>这样的对象转换为“1,2,3”这样的 ...

随机推荐

  1. 与数据库打交道的Adapter----SimpleCursorAdapter

    http://www.cnblogs.com/wenjiang/p/3196486.html 程序员是这个世界上最神奇的职业,因为几乎所有其他职业的人都能转到该行来,只要他智力正常,有接受过正规的编程 ...

  2. Dictionary 总结

    foreach (KeyValuePair<int, string> kvp in myDictionary) {...} Dictionary<string, string> ...

  3. 打开自定义链接新窗口(safari JS prompt的坑!)2016.03.08

    很简单的一个小练习,但做的过程中发现safari的一个坑,使用prompt()方法的时候,点击取消和不输入一样,会返回空字符' ',而不是null! 要求: 制作新按钮,"新窗口打开网站&q ...

  4. undefined与null的区别(待修整)

    没有实体的对象称为空对象.只用对象的引用,而不存在引用的实体对象 就叫做空对象 在常见的强类型语言中,通常有一个表示"空"的值,比如NULL.但是在Javascript中,空(或者 ...

  5. 浮点数精确表示,java陷阱

    /** 浮点数表示问题 @author husky */ public class Change { public static void main(String[] args) { double n ...

  6. SGU 144.Meeting

    题目: 两支地区ACM比赛的队伍决定为了国际决赛而在一起集训. 他们约定在某天的 X 时到 Y 时的某一时刻相会. 但由于他们很少按时到 (有的队伍比赛那天都会迟到), 他们没有设定一个确切的相遇时间 ...

  7. Jdbc工具类(连接及释放)

    package cn.gdpe.jdbc; import java.io.File;import java.io.FileInputStream;import java.io.FileNotFound ...

  8. window 配置 sendmail

    从http://glob.com.au/sendmail/下载sendmail.zip 解压sendmail.zip到目录下(最好使用短路径,长路径会导致问题的出现),我安装的路径是: E:\wamp ...

  9. mysql命令行导出导入数据库

    一.MYSQL的命令行模式的设置: 桌面->我的电脑->属性->环境变量->新建->PATH=“:path\mysql\bin;”其中path为MYSQL的安装路径.二. ...

  10. 用Apache实现一个ip虚拟多个web站点

    如何用Apache实现一个ip虚拟多个web站点? 首先添加虚拟的服务器名 <virtualhost www.xxx.com:80="">DocumentRoot d: ...