基于字符串常用API(详解)

API(Application Programming Interface):应用程序编程接口

使用Scanner 获取键盘录入的字符串
next() ; 在遇到空格的时候 会判定为当前的输入结束 空格之后的内容会收不到

nextLine(); 可以避免被空格中断 , 但是在于接收数字一起使用的时候会被干扰

创建字符串对象

public String(String original) ---> 通过字符串创建一个字符串对象
public String(char[] value) -=--> 通过一个字符型数组创建一个字符串对象
public String(char[] value,int offset,int count)---> 通过字符型数组的一部分创建一个字符串对象 从索引值为offset开始,持续count个

==的含义

== 代表判断两边是否相等
基本类型判断是数值
引用类型判断的是地址

通过构造方法创建字符串对象和直接赋值创建字符串对象的区别:

构造方法创建是在堆区 直接赋值是在常量池

判断功能 

boolean equals(Object obj) // 比较字符串的内容是否相等, 跟哪个字符串比较 参数就写哪个字符串
boolean equalsIgnoreCase(String str)// 比较字符串的内容是否相等 比较的时候忽略大小写
boolean startsWith(String str) // 判断字符串是否以str开头
boolean endsWith(String str) // 判断字符串是否以str结尾

获取的功能

int length() // 获取字符串的长度(获取字符串中字符的个数 )
char charAt(int index) // 根据指定的索引返回对应字符
int indexOf(String str) // 获取str在字符串中出现的索引值 ,如果字符串中没有str则返回 -1
String substring(int start) // 从索引值为start位置开始到字符串结尾处截取出来作为一个新串返回
String substring(int start,int end) // 截取字符串 从start开始 ,到end-1为止 生成一个新串返回

统计字符串中大写、小写及数字字符个数

* String s1 = "aAb0G9c1Kde";
* 字符串遍历 判断 定义计数器分别代表三种字符的个数
* 1.定义三个计数器分别代表三种字符的个数
* 2.遍历字符串获取每个字符进行判断
* 3.一旦符合某一种字符就让对应的计数器+1

public static void main(String[] args) {
    // TODO Auto-generated method stub
    String s1 = "aAb0G9c1Kde"; //
    // 1.定义三个计数器分别代表三种字符的个数
    int big = 0;
    int small = 0;
    int num = 0;
    // 2.遍历字符串获取每个字符进行判断
    for (int i = 0; i < s1.length(); i++) {
      char ch = s1.charAt(i);
      if (ch >= '0' && ch <= '9') {
        num++;
      } else if (ch >= 'A' && ch <= 'Z') {
        big++;
      } else if (ch >= 'a' && ch <= 'z') {
        small++;
      }
    }
 }

转换功能方法

char[] toCharArray() ---> 把字符串转化成数组 返回
String toLowerCase() ---> 把字符串中的数据转化成小写字母返回
String toUpperCase() ---> 把字符串中的数据转化成大写字母返回

去除空格和分割功能方法

String trim() // 去除空格 字符串两边的空格 , 字符串中间的空格不会去掉
String[] split(String str)// 把字符串使用str进行切割, 把切割之后得到的字符串组成一个字符串数组返回
String replaceAll(String regex,String replacement)
boolean contains(String str);

String replaceAll(String regex,String replacement)// 使用 replacement替换字符串中所有的regex
boolean contains(String str);// 判断字符串是否包含 str 只要字符串中有Str不论几个都会返回true 一旦没有 ,就会返回false

StringBuilder构造方法

StringBuilder() ---> 创建一个空的SB容器
StringBuilder(String str)

StringBuilder常见方法

public int capacity()// 容器的容量
public int length() // 实际存储的字符个数

StringBuilder的方法

public StringBuilder append(任意类型)// 任何类型的数据都可以添加到这个容器中,最终都会以字符串的形式体现 ,调用完毕之后返回的是自己
public StringBuilder reverse() // 翻转容器中的内容

以上这篇基于字符串常用API(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2017-06-11

python数据类型_字符串常用操作(详解)

这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 = "hello bei jing " name2 = '''hello shang hai haha''' python中的字符串一旦声明,是不能进行更改的,如下: #字符串为不可变变量,即不能通过对某一位置重新赋值改变内容 name = 'hello' name[0] = 'k' #通

python 字符串常用函数详解

字符串常用函数: 声明变量 str="Hello World" find() 检测字符串是否包含,返回该字符串位置,如果不包含返回-1 str.find("Hello") # 返回值:0 str.find("W") # 返回值:6, 这里需要注意下:空格也是一个字符.W前面有个空格,所以W位置是6 str.find("R") # 返回值:-1,并不包含在Hello World中,如果不包含返回-1 index() 检测字符串是

基于Java中字符串内存位置详解

前言 之前写过一篇关于JVM内存区域划分的文章,但是昨天接到蚂蚁金服的面试,问到JVM相关的内容,解释一下JVM的内存区域划分,这部分答得还不错,但是后来又问了Java里面String存放的位置,之前只记得String是一个不变的量,应该是要存放在常量池里面的,但是后来问到new一个String出来应该是放到哪里的,这个应该是放到堆里面的,后来又问到String的引用是放在什么地方的,当时傻逼的说也是放在堆里面的,现在总结一下:基本类型的变量数据和对象的引用都是放在栈里面的,对象本身放在堆里面,

基于php编程规范(详解)

今天写这个是为了 提醒自己 编程过程 不仅要有逻辑 思想 还有要规范 代码 这样可读性 1.PHP 编程规范与编码习惯最主要的有以下几点: 1 文件说明 2 function 函数体说明 3 代码缩进 4 if省略 5 变量规范 6 命名规范 7 十行一注释 8 注释风格 9 开放关闭原则 2.文件说明 个人代码 -规范如下: <? /* +---------------------------------------------------------------------- + Title

基于form-data请求格式详解

最近一直都比较忙,坚持月月更新博客的计划不得中止了,今天抽出点时间来说说最近项目中遇到的一个问题,有关request post请求格式中的multipart/form-data格式. 引言 最近在参与一个项目过程中遇到一个问题,相信大部分人都遇到过: 在后端与前端约定好application/json格式传递数据时,因为后台是go强类型语言,在定义api接口时,某些字段要求是整型类型,但是对于前端来说输入框或者从url中的search取到的参数都是字符串,不得不进行前端类型转换. 咋一看,对于接

Node.js API详解之 util模块用法实例分析

本文实例讲述了Node.js API详解之 util模块用法.分享给大家供大家参考,具体如下: Node.js API详解之 util util 模块主要用于支持 Node.js 内部 API 的需求.提供了大部分实用工具. 通过 const util = require('util'); 的方式引用util模块 util.callbackify(original) 说明: original:传递一个 async 函数,或者是一个返回Promise的异步函数. callbackify会返回一个方

Node.js API详解之 Error模块用法实例分析

本文实例讲述了Node.js API详解之 Error模块用法.分享给大家供大家参考,具体如下: Node.js API详解之 Error Node.js 中运行的应用程序一般会遇到以下四类错误: 1.标准的 JavaScript 错误: EvalError : 当调用 eval() 失败时抛出. SyntaxError : 当 JavaScript 语法错误时抛出. RangeError : 当值不在预期范围内时抛出. ReferenceError : 当使用未定义的变量时抛出. TypeEr

Node.js API详解之 net模块实例分析

本文实例讲述了Node.js API详解之 net模块.分享给大家供大家参考,具体如下: Node.js API详解之 net net 模块提供了创建基于流的 TCP 或 IPC 服务器(net.createServer())和客户端(net.createConnection()) 的异步网络 API. 通过以下方式引入: const net = require('net'); net.isIP(input) 说明: 测试 input 是否是 IP 地址.无效的字符串则返回 0,IPv4 地址则

Node.js API详解之 dns模块用法实例分析

本文实例讲述了Node.js API详解之 dns模块用法.分享给大家供大家参考,具体如下: Node.js API详解之 dns dns (域名服务器)模块包含两类函数: 第一类函数,使用底层操作系统工具进行域名解析,且无需进行网络通信. 这类函数只有一个:dns.lookup(). 例子,查找 baidu.com: const dns = require('dns'); dns.lookup('www.baidu.com', (err, address, family) => { conso