不管是给字符串赋值,还是对字符串格式化,都属于往字符串填充内容,一旦内容填充完毕,则需开展进一步的处理。譬如一段Word文本,常见的加工操作就有查找、替换、追加、截取等等,按照字符串的处理结果异同,可将这些操作方法归为三大类,分别说明如下。
一、判断字符串是否具备某种特征
该类方法主要用来判断字符串是否满足某种条件,返回true代表条件满足,返回false代表条件不满足。判断方法的调用代码示例如下:

		String hello = "Hello World. ";
// isEmpty方法判断该字符串是否为空串
boolean isEmpty = hello.isEmpty();
System.out.println("isEmpty = "+isEmpty);
// equals方法判断该字符串是否与目标串相等
boolean equals = hello.equals("你好");
System.out.println("equals = "+equals);
// startsWith方法判断该字符串是否以目标串开头
boolean startsWith = hello.startsWith("Hello");
System.out.println("startsWith = "+startsWith);
// endsWith方法判断该字符串是否以目标串结尾
boolean endsWith = hello.endsWith("World");
System.out.println("endsWith = "+endsWith);
// contains方法判断该字符串是否包含了目标串
boolean contains = hello.contains("or");
System.out.println("contains = "+contains);

运行以上的判断方法代码,得到以下的日志信息:

isEmpty = false
equals = false
startsWith = true
endsWith = false
contains = true

  

二、在字符串内部进行条件定位
该类方法与字符串的长度有关,要么返回指定位置的字符,要么返回目标串的所在位置。定位方法的调用代码如下所示:

		String hello = "Hello World. ";
// length方法返回该字符串的长度
int length = hello.length();
System.out.println("length = "+length);
// charAt方法返回该字符串在指定位置的字符
char first = hello.charAt(0);
System.out.println("first = "+first);
// indexOf方法返回目标串在该字符串中第一次找到的位置
int index = hello.indexOf("l");
System.out.println("index = "+index);
// lastIndexOf方法返回目标串在该字符串中最后一次找到的位置
int lastIndex = hello.lastIndexOf("l");
System.out.println("lastIndex = "+lastIndex);

运行以上的定位方法代码,得到以下的日志信息:

length = 13
first = H
index = 2
lastIndex = 9

  

三、根据某种规则修改字符串的内容
该类方法可对字符串进行局部或者全部的修改,并返回修改之后的新字符串。内容变更方法的调用代码举例如下:

		String hello = "Hello World. ";
// toLowerCase方法返回转换为小写字母的字符串
String lowerCase = hello.toLowerCase();
System.out.println("lowerCase = "+lowerCase);
// toUpperCase方法返回转换为大写字母的字符串
String upperCase = hello.toUpperCase();
System.out.println("upperCase = "+upperCase);
// trim方法返回去掉首尾空格后的字符串
String trim = hello.trim();
System.out.println("trim = "+trim);
// concat方法返回在末尾添加了目标串之后的字符串
String concat = hello.concat("Fine, thank you.");
System.out.println("concat = "+concat);
// substring方法返回从指定位置开始截取的子串。只有一个输入参数的substring,从指定位置一直截取到源串的末尾
String subToEnd = hello.substring(6);
System.out.println("subToEnd = "+subToEnd);
// 有两个输入参数的substring方法,返回从开始位置到结束位置中间截取的子串
String subToCustom = hello.substring(6, 9);
System.out.println("subToCustom = "+subToCustom);
// replace方法返回目标串替换后的字符串
String replace = hello.replace("l", "L");
System.out.println("replace = "+replace);

运行以上的内容变更方法代码,得到以下的日志信息:

lowerCase = hello world.
upperCase = HELLO WORLD.
trim = Hello World.
concat = Hello World. Fine, thank you.
subToEnd = World.
subToCustom = Wor
replace = HeLLo WorLd.

  

更多Java技术文章参见《Java开发笔记(序)章节目录

Java开发笔记(三十六)字符串的常用方法的更多相关文章

  1. Java开发学习(三十六)----SpringBoot三种配置文件解析

    一. 配置文件格式 我们现在启动服务器默认的端口号是 8080,访问路径可以书写为 http://localhost:8080/books/1 在线上环境我们还是希望将端口号改为 80,这样在访问的时 ...

  2. Java开发笔记(十六)非此即彼的条件分支

    前面花了大量篇幅介绍布尔类型及相应的关系运算和逻辑运算,那可不仅仅是为了求真值或假值,更是为了通过布尔值控制流程的走向.在现实生活中,常常需要在岔路口抉择走去何方,往南还是往北,向东还是向西?在Jav ...

  3. Java开发笔记(九十六)线程的基本用法

    每启动一个程序,操作系统的内存中通常会驻留该程序的一个进程,进程包含了程序的完整代码逻辑.一旦程序退出,进程也就随之结束:反之,一旦强行结束进程,程序也会跟着退出.普通的程序代码是从上往下执行的,遇到 ...

  4. Java开发学习(二十六)----SpringMVC返回响应结果

    SpringMVC接收到请求和数据后,进行了一些处理,当然这个处理可以是转发给Service,Service层再调用Dao层完成的,不管怎样,处理完以后,都需要将结果告知给用户. 比如:根据用户ID查 ...

  5. “全栈2019”Java多线程第三十六章:如何设置线程的等待截止时间

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 下一章 "全栈2019"J ...

  6. Java学习笔记(十六)——Java RMI

    [前面的话] 最近过的好舒服,每天过的感觉很充实,一些生活和工作的技巧注意了就会发现,其实生活也是可以过的如此的有滋有味,满足现在的状况,并且感觉很幸福. 学习java RMI的原因是最近在使用dub ...

  7. Java学习笔记三十:Java小项目之租车系统

    Java小项目之租车系统 一:项目背景介绍: 根据所学知识,编写一个控制台版的“呱呱租车系统” 功能: 1.展示所有可租车辆: 2.选择车型.租车量: 3.展示租车清单,包含:总金额.总载货量以及其车 ...

  8. JAVA学习第三十六课(经常使用对象API)— Set集合:HashSet集合演示

    随着Java学习的深入,感觉大一时搞了一年的ACM,简直是明智之举,Java里非常多数据结构.算法类的东西,理解起来就轻松多了 Set集合下有两大子类开发经常使用 HashSet集合 .TreeSet ...

  9. 网站开发进阶(三十六)String.getBytes()方法中的中文编码问题

    String.getBytes()方法中的中文编码问题 String的getBytes()方法是得到一个系统默认的编码格式的字节数组. getBytes("utf-8")得到一个U ...

  10. MySQL数据库开发的三十六条军规

    一.核心军规 尽量不在数据库做运算,cpu计算的事务必移至业务层; 控制表.行.列数量([控制单张表的数据量 1年/500W条,超出可做分表],[单库表数据量不超过300张] .[单张表的字段个数不超 ...

随机推荐

  1. [Educational Round 17][Codeforces 762F. Tree nesting]

    题目连接:678F - Lena and Queries 题目大意:给出两个树\(S,T\),问\(S\)中有多少连通子图与\(T\)同构.\(|S|\leq 1000,|T|\leq 12\) 题解 ...

  2. Springboot关于脚本脚本启动的项目:

    #!/bin/bash if [ -f ~/.bash_profile ];then  . ~/.bash_profilefi JAVA_HOME=/usr/local/usr_software/jd ...

  3. 关于条件语句和 a && b

    learn from javascript cookbook if (element == 'ab') array[index] = "**"; 该语句 等价于 if (eleme ...

  4. json转义 使用 JavaScriptSerializer 时 需要添加的引用

    当创建JavaScriptSerializer创建对象时,JavaScriptSerializer jss=new JavaScriptSerializer():时. 1.   需要添加的是Syste ...

  5. 链表加bfs求补图联通块

    https://oj.neu.edu.cn/problem/1387 给一个点数N <= 100000, 边 <= 1000000的无向图,求补图的联通块数,以及每个块包含的点数 由于点数 ...

  6. JavaScript 异步编程的前世今生(上)

    前言 提到 JavaScript 异步编程,很多小伙伴都很迷茫,本人花费大约一周的业余时间来对 JS 异步做一个完整的总结,和各位同学共勉共进步! 目录 part1 基础部分 什么是异步 part2 ...

  7. 如何利用GitHub搜索敏感信息

    如何利用GitHub搜索敏感信息 背景: 最近总是能听到同事说在GitHub上搜到某个敏感信息,然后利用该信息成功的检测并发现某个漏洞,最后提交到对应的SRC(安全应急响应中心)换点money.顿时心 ...

  8. [Swift]LeetCode334. 递增的三元子序列 | Increasing Triplet Subsequence

    Given an unsorted array return whether an increasing subsequence of length 3 exists or not in the ar ...

  9. [Swift]LeetCode532. 数组中的K-diff数对 | K-diff Pairs in an Array

    Given an array of integers and an integer k, you need to find the number of unique k-diff pairs in t ...

  10. [Swift]LeetCode993. 二叉树的堂兄弟节点 | Cousins in Binary Tree

    In a binary tree, the root node is at depth 0, and children of each depth k node are at depth k+1. T ...