package com.javaBase.string;

import java.util.Locale;

/**
* 〈一句话功能简述〉;
* 〈String类中常用的方法整理〉
*
* @author
* @see [相关类/方法](可选)
* @since [产品/模块版本] (可选)
*/
public class CommonStringMethod { public static void main(String[] args) {
// testLength();
// testChartAt();
// testToCharyArray();
// testIndexOf();
// testToUpperCaseAndToLowerCase();
// testSplit();
// testTrim();
// testSubstring();
// testEqualsIgnoreCase();
// testContains();
// testStartsWithAndEndsWith();
testReplaceAll();
} /**
* length() 返回此字符串的长度。长度等于字符串中 Unicode 代码单元的数量。
* 返回值为 int 类型。得到一个字符串的字符个数(中、英、空格、转义字符皆为字符,计入长度)
*/
public static void testLength() {
String str = "123456 \t \n";
System.out.println(str.length());
} /**
* charAt(index);返回指定索引处的 char 值。索引范围为从 0 到 length() - 1。序列的第一个 char 值位于索引 0 处,
* 第二个位于索引 1 处,依此类推,这类似于数组索引。
*/
public static void testChartAt() {
String str = "123456";
System.out.println(str.charAt(0));
System.out.println(str.charAt(1));
} /**
* toCharArray();将此字符串转换为一个新的字符数组。
*/
public static void testToCharyArray() {
String str = "123456";
char[] arr = str.toCharArray();
for (int i = 0; i < arr.length; i++)
System.out.print(arr[i]);
} /**
* indexOf(int ch);返回指定字符在此字符串中第一次出现处的索引
* indexOf(int ch, int fromIndex);返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索
* indexOf(String str);返回指定子字符串在此字符串中第一次出现处的索引
* indexOf(String str, int fromIndex);返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始
*/
public static void testIndexOf() {
String str = "123456";
System.out.print(str.indexOf('1'));
System.out.print(str.indexOf('1',1));
System.out.print(str.indexOf("1"));
System.out.print(str.indexOf("1",1));
} /**
* toLowerCase();使用默认语言环境的规则将此 String 中的所有字符都转换为小写
* toLowerCase(Locale locale);使用给定 Locale 的规则将此 String 中的所有字符都转换为小写
* toUpperCase();使用默认语言环境的规则将此 String 中的所有字符都转换为大写
* toUpperCase(Locale locale);使用给定 Locale 的规则将此 String 中的所有字符都转换为大写
*/
public static void testToUpperCaseAndToLowerCase() {
String str = "123456";
System.out.println(str.toUpperCase()); //123456
String str2 = "奥术大师多";
System.out.println(str2.toUpperCase()); //奥术大师多
String str3 = "abcA";
System.out.println(str3.toUpperCase());
System.out.println(str3.toUpperCase(Locale.CANADA_FRENCH)); //了解下local类
System.out.println(str3.toLowerCase());
} /**
* split();根据给定正则表达式的匹配拆分此字符串。
*/
public static void testSplit() {
String str = "123456";
String[] arr = str.split(",");
for (int i=0;i<arr.length;i++)
System.out.println(arr[i]);
} /**
* equals(Object anObject);将此字符串与指定的对象比较。当且仅当该参数不为 null,
* 并且是与此对象表示相同字符序列的 String 对象时,结果才为 true
*/
public static void testEquals() {
String str = "123456";
System.out.println("123".equals(str));
} /**
* trim();返回字符串的副本,忽略前导空白和尾部空白。
* replace(char oldChar, char newChar) ;返回一个新的字符串,它是通过用 newChar
* 替换此字符串中出现的所有 oldChar 得到的。
*/
public static void testTrim() {
String str = " 12 3456 ";
System.out.println(str.trim()); //12 3456
System.out.println(str.replace(" ","")); //123456
} /**
* substring(int beginIndex);返回一个新的字符串,它是此字符串的一个子字符串。该子字符串从指定索引处的字符开始,
* 直到此字符串末尾。
* substring(int beginIndex,int endIndex);返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的
* beginIndex 处开始,直到索引 endIndex - 1 处的字符。因此,该子字符串的长度为 endIndex-beginIndex。
*/
public static void testSubstring() {
String str = "123456";
System.out.println(str.substring(2));
System.out.println(str.substring(2,4)); //左闭右开
} /**
* equalsIgnoreCase(String anotherString);将此 String 与另一个 String 比较,不考虑大小写
*/
public static void testEqualsIgnoreCase() {
String str = "abc";
System.out.println("AbC".equalsIgnoreCase(str));
} /**
* contains(CharSequence s);当且仅当此字符串包含指定的 char 值序列时,返回 true。
*/
public static void testContains() {
String str = "abcdef123";
System.out.println(str.contains("f12"));
} /**
* startsWith(String prefix);测试此字符串是否以指定的前缀开始。
* endsWith(String suffix) ;测试此字符串是否以指定的后缀结束。
*/
public static void testStartsWithAndEndsWith() {
String str = "abcdef123";
System.out.println(str.endsWith("123"));
System.out.println(str.startsWith("123"));
} /**
* replaceAll(String regex, String replacement);使用给定的 replacement 替换此字符串
* 所有匹配给定的正则表达式的子字符串。
*/
public static void testReplaceAll() {
String str = "abcdef1231";
str = str.replaceAll("1","@");
System.out.println(str);
String str2 = "abcdef1231";
str2 = str2.replace("1","#");
System.out.println(str2);
//一样?
String str3 = "abcdef1231";
str3 = str3.replaceAll("\\d", "*"); //abcdef**** replaceAll()支持正则表达式
System.out.println(str3);
}
}

String常用方法解析的更多相关文章

  1. Device Tree常用方法解析

    Device Tree常用方法解析 Device Tree在Linux内核驱动中的使用源于2011年3月17日Linus Torvalds在ARM Linux邮件列表中的一封邮件,他宣称“this w ...

  2. Device Tree常用方法解析【转】

    转自:https://blog.csdn.net/airk000/article/details/21345159 Device Tree常用方法解析 Device Tree在Linux内核驱动中的使 ...

  3. Ext.dom.Element 常用方法解析

    Ext.dom.Element 常用方法解析 Ext.Element,Ext.core.Elemen,Ext.dom.Element 这几个类都是一个类,在EXT当中给起了别名而已,这个类到作用主要是 ...

  4. 前端开发:Javascript中的数组,常用方法解析

    前端开发:Javascript中的数组,常用方法解析 前言 Array是Javascript构成的一个重要的部分,它可以用来存储字符串.对象.函数.Number,它是非常强大的.因此深入了解Array ...

  5. Javascript语言精粹之String常用方法分析

    Javascript语言精粹之String常用方法分析 1. String常用方法分析 1.1 String.prototype.slice() slice(start,end)方法复制string的 ...

  6. JAVA之旅(十六)——String类,String常用方法,获取,判断,转换,替换,切割,子串,大小写转换,去除空格,比较

    JAVA之旅(十六)--String类,String常用方法,获取,判断,转换,替换,切割,子串,大小写转换,去除空格,比较 过节耽误了几天,我们继续JAVA之旅 一.String概述 String时 ...

  7. String常用方法

    1. String StringBuffer StringBuilder的区别: 001.在执行速度方法 StringBuilder > StringBuffer > String 002 ...

  8. JVM内存分配及String常用方法

    一,JVM内存分配和常量池 ​ 在介绍String类之前,先来简单分析一下在JVM中,对内存的使用是如何进行分配的.如下图所示(注意:在jdk1.8之后便没有方法区了): ​ ​ 如上JVM将内存分为 ...

  9. JavaScript数组常用方法解析和深层次js数组扁平化

    前言 数组作为在开发中常用的集合,除了for循环遍历以外,还有很多内置对象的方法,包括map,以及数组筛选元素filter等. 注:文章结尾处附深层次数组扁平化方法操作. 作为引用数据类型的一种,在处 ...

随机推荐

  1. Telnet拓展测试--在生产测试场景的应用

    本文关键词:流量测试.Telnet拓展测试.TCP/IP.时延 一.Telnet简介 Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式.它为用户提供了在 ...

  2. BI可视化在线分析工具,推荐这2个BI工具!

    ​一.国外BI----tableau   BI平台Tableau帮助企业可视化和理解数据.它使组织能够通过PC或iPad连接,可视化和共享数据.用户可以轻松创建仪表板,发布甚至与同事,合作伙伴和客户共 ...

  3. Qt:QDir

    0.说明 QDir提供了访问目录及目录下内容的类. QDir既可以用于访问文件系统,也可以用于访问Qt 资源系统(Qt's resource system.). Qt用 "/" 作 ...

  4. Python 列表的(元素的删除)

    del:根据索引值删除元素 del 可以删除列表中的单个元素,格式为: del listname[index] 其中,listname 表示列表名称,index 表示元素的索引值.del 也可以删除中 ...

  5. [USACO20FEB]Equilateral Triangles P 题解

    优雅的暴力. 设三个点为 \((i,j,k)\),则有 \(6\) 个未知数即 \(x_i,x_j,x_k,y_i,y_j,y_k\).又因为有 \(2\) 条关于这 \(6\) 个未知数的方程 \( ...

  6. MariaDB 与Mysql版本对应关系

    特定MariaDB版本的完全兼容性 就InnoDB而言,MariaDB 10.2.MariaDB 10.3和MariaDB 10.4是MySQL 5.7的有限替代.然而,在每一个新的MariaDB版本 ...

  7. Linux安装JDK8环境

    1.下载JDK包 点击同意下载后,会让你注册oracel账号,登录了才能下载 2.上传到linux服务器,然后解压 解压命令(注意jdk的版本名称不一定相同): tar -zxvf jdk-8u181 ...

  8. 如何恢复 iCloud 已删除文件

    原文链接 问题 今天在查找之前的 C++ 笔记时,突然发现之前的资料全没了,整个 Cpp 文件夹内就只剩下了三个文件,怎么形容当时的心情呢,应该说是一下就跌倒了谷底,感觉之前的心血全白费了,有种深深的 ...

  9. docker学习笔记(3)- 镜像

    简介 在docker学习笔记(1)- 架构概述一节中可以看到镜像是docker三大组件之一,可以将Docker镜像类比为虚拟机的模版. 镜像由多个层组成,每层叠加之后从外部看就像一个独立的对象,镜像的 ...

  10. k8s集群Job负载 支持多个 Pod 可靠的并发执行,如何权衡利弊选择适合的并行计算模式?

    k8s的Job负载 支持多个 Pod 可靠的并发执行,如何权衡利弊选择适合的并行计算模式? 简单聊聊你对工作负载Job的理解? Job 支持多个 Pod 可靠的并发执行,如何权衡利弊选择适合的并行计算 ...