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. WPF TextElement内容模型简介(转)

    本内容模型概述描述了 TextElement 支持的内容. Paragraph 类是 TextElement 的类型. 内容模型描述哪些对象/元素可以包含在其他对象/元素中. 本概述汇总了派生自 Te ...

  2. EF Lambda 多表查询

    using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mv ...

  3. VS2015 Cordova Ionic移动开发(二)

    一.创建空白Cordova应用 打开VS,选择[新建项目],选择其它语言JavaScript或者TypeScript,语言的话就按个人喜好,喜欢JS就用JS,喜欢TS就用TS,推荐使用TS书写,代码结 ...

  4. Android TV 模拟器启动

    模拟器启动错误 使用IntelCPU的模拟器 http://software.intel.com/en-us/android/articles/intel-hardware-accelerated-e ...

  5. 用java写bp神经网络(四)

    接上篇. 在(一)和(二)中,程序的体系是Net,Propagation,Trainer,Learner,DataProvider.这篇重构这个体系. Net 首先是Net,在上篇重新定义了激活函数和 ...

  6. SpringMVC4+thymeleaf3的一个简单实例(篇四:form表单数据验证)

    关于表单数据验证有很多中方法,这里我仅介绍JSR303注解验证.JSR303仅仅是一个规范,这里我们要用到它的一个实现:hibernate-validator. 注意在spring的配置文件sprin ...

  7. hdoj 2191(多重背包)

    悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 Time Limit : 1000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/ ...

  8. 【转】 wpf系列-入门

    转自:http://www.cnblogs.com/huangxincheng/category/388852.html   8天入门wpf—— 第八天 最后的补充 摘要: 从这一篇往前看,其实wpf ...

  9. xubuntu14.04截图,彻底到Linux一个半月后记

        前言 自学计算机技术,越到后面,越依赖ubuntu,以致于很多时候都是一开机就打开虚拟机上的ubuntu10.04,Linux已经变得越来越重要了. 2014-04-17,ubuntu14.0 ...

  10. STM32学习笔记——DMA控制器(向原子哥学习)

    一.DMA简介 DMA,全称为:Direct Memory Access,即直接存储器访问,DMA 用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输.当 CPU 初始化这个传输动作,传输 ...