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. 利用SQLiteOpenHelper创建数据库,进行增删改查操作

    Android中提供SQLiteOpenHelper类,在该类的构造器中,调用Context中的方法创建并打开一个指定名称的数据库对象.继承和扩展SQLiteOpenHelper类主要做的工作就是重写 ...

  2. jsp-文件的上传(转).

    该程序的主要代码,我引用网友的,并做了一些改进.上这个帖子的原因之一,是为了修正之前自己的一些误解. 概述: 一些网友,包括我,也曾经试图通过 input type 为 file的控件,获取其文件的完 ...

  3. Linux 自动更新时间

    1. 从NTP上把时间同步到本地 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 2. 更新本地时间 ntpdate us.pool.ntp.o ...

  4. MVC5+EF6 入门完整教程一

    第0课 从0开始 ASP.NET MVC开发模式和传统的WebForm开发模式相比,增加了很多"约定". 直接讲这些 "约定" 会让人困惑,而且东西太多容易忘记 ...

  5. python使用VBA:Excel创建图表(转)

    # -*- coding: utf-8 -*- """ Created on Thu Mar 06 11:22:03 2014 @author: Administrato ...

  6. select、poll、epoll用法

    我们先从著名的C10K问题开始探讨,由于早期在网络还不普及的时候,互联网的用户并不是很多,一台服务器同时在线100个用户估计在当时已经算是大型应用了.但是随着互联网的发展,用户群体迅速的扩大,每一个用 ...

  7. App的token机制

    这只是网上看来的后期可能还会修改. 理论版的描述如下: (1) 服务器接收到app发送的用户名和密码后,验证用户名和密码是否正确. 如果错误则返回错误信息. 如果验证正确,生成一个随机的不重复的tok ...

  8. [转] Java 8的新特性

    简介 毫无疑问,Java 8是Java自Java 5(发布于2004年)之后的最重要的版本.这个版本包含语言.编译器.库.工具和JVM等方面的十多个新特性.在本文中我们将学习这些新特性,并用实际的例子 ...

  9. PHP框架、库和软件资源大全(整理篇)

    php的资料 https://github.com/ziadoz/awesome-php Awesome PHP A curated list of amazingly awesome PHP lib ...

  10. Unity3d 随机地图生成

    2D解析图: 3D地形: 嘿嘿.