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. java中怎么进行字符串替换?

    String str = "test.doc"; String newStr = str.replaceAll("doc","html");

  2. 苹果开发 笔记(80)升级IOS 9 和 XCode 7 引起的问题记录

    原文: http://blog.csdn.net/hero82748274/article/details/48629461 问题一: 升级xcode 7最低的系统配置要求 升级了ios9 后使用 x ...

  3. Core Animation之CAKeyframeAnimation

    在上一篇专题文章中我们学习了iOS核心动画CoreAnimation中CABasicAnimation动画的使用方法.CABasicAnimation已经可以应付一些比较简单的应用场景了,比如view ...

  4. Objective-C和C++的区别

    1.都是有C语言延伸而来2.OC是完全动态的,C++是部分动态的3.OC不支持多继承,通过代理 类别 协议优雅的实现了相关的一系列特性4.调用机制不同OC里面叫发送消息  C++叫做调用函数数5.OC ...

  5. winform(C#)拖拽实现获得文件路径

    设置Form的AllowDrop为true  private void Form1_DragDrop(object sender, DragEventArgs e)        {          ...

  6. SGU 172.eXam(二分图染色)

    时间限制:0.25s 空间限制:4M 题意: 将n(n<200)个点分成两个集合,给出m(m<=30000)对不能在一个集合的点对,判断能否分成满足要求的集合,输出其中一个集合和集合的总数 ...

  7. YZOI回忆录&&YZOI3.0介绍&&某些资源的分享

    “那段时光就像块透明的琉璃,美得那么虚幻.飘渺.可是它毕竟在我生命里闪现,哪怕如萤光一样微弱,却照亮了我整个心房.”1.前序伴随着yzoi2.0版本离我而去的是我半年的OI生涯,在这半年内我步入了一个 ...

  8. 网站开发常用jQuery插件总结(三)拖拽插件gridster

    1.gridster插件功能 实现类似于win8 磁贴拖拽的功能 2.gridster官方地址 http://gridster.net/ 在官方的网站上也有插件的帮助和实例,但是按照官方的说明,我在本 ...

  9. Bootstrap_Javascript_选项卡

    选项卡Tabs是Web中一种非常常用的功能.用户点击或悬浮对应的菜单项,能切换出对应的内容. 一 . 结构分析 Bootstrap框架中的选项卡主要有两部分内容组成: 选项卡组件(也就是菜单组件),对 ...

  10. [jQuery编程挑战]007 切换数据表格的行列

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="utf-8&quo ...