Java

String:

String 类适用于描述字符串事物。该类是不可以被继承的。我们主要学习:

1字符串特性。字符串最大的特性:一旦被初始化就不可以被改变。重赋值只是改变了引用。

2字符串操作。

1获取:

int  length():获取字符串的长度。

char  charAt( int  index )根据位置获取该位置上某个字符:

根据字符获取该字符在字符串中的位置:

int  indexOf(int ch):返回的是ch在字符串中第一次出现的的位置。

int  indexOf(int ch,int fromIndex):从fromIndex指定位置开始,获取ch在字符串中出现的位置。

int  indexOf(String str):返回的是str在字符串中第一次出现的的位置。

int  indexOf(String str,int fromIndex):从fromIndex指定位置开始,获取str在字符串中出现的位置。

int  lastIndexOf(xx,xx):里面的参数与上面的4中方法一致。但是是从后面开始查找。

2判断:

boolean  contains(str):字符串中是否包含某一个字符串。

特例indexOf(str):可以索引str第一次出现位置,如果返回-1,表示该str不在字符串中存在。即用该方法就可以判断是否包含某一个字符串。而且可以返回出现的位置。

boolean  isEmpty():字符中是否有内容。

boolean  startsWith(str):字符串是否是以指定内容开头。

boolean  endsWith(str):字符串是否是以指定内容结尾。

boolean  equals(str):判断字符串内容是否相等。复写了Object类中的equals()方法。

boolean  equalsIgnoreCase(str):判断字符串内容是否相同,并忽略大小写。

3转换:

将字符数组转换成字符串。

构造函数String(char [])  将字符数组转换成字符串。

String(char [],offset,count)  将字符数组中的一部分转换成字符串。

静态方法:static copyValueOf(char [] data)

static copyValueOf(char [] data,int  offset , int count)

将字符串转换成字符数组。**

char []  toCharArray();

将字节数组转换成字符串。

构造函数String(byte [])  将字节数组转换成字符串。

String(byte [],offset,count)  将字节数组中的一部分转换成字符串。

将字符串转换成字符数组。

byte []  getBytes();

将基本数据类型转换成字符串。

static String valueOf(基本数据类型)

特殊注意:字符串和字节数组在转换过程中,是可以指定编码表的。

4替换:

String replace(oldChar,newChar); 如果要替换的字符不存在,则返回的还是原串。单引号。

String replace(oldCharSequence,newCharSequence); 如果要替换字符串不存在,返回原串。双引号。

5切割:

String [] split(regex); 参数为指定的字符串。

6子串:

String substring(begin);  获取字符串中的一部分。从指定的位置开始。

String substring(begin,end);  获取字符串中的一部分。从指定的位置开始,到指定的位置前一位结束。

其他:

String toUpperCase():将字符串转换成大写或小写。

String toLowerCase():

String trim():将字符串两端的多个空格去除。

int compareTo(String )对两个字符串进行自然顺序的比较。

StringBuffer:

StringBuffer是字符串缓冲区。是一个容器。

特点:

1长度是可以变化的。

2可以直接操作多个数据类型。

3最终会通过toString方法变成字符串。

它具备:

1存储

StringBuffer append():将指定数据作为参数添加到已有数据结尾处。

StringBuffer insert(index,数据):将指定数据作为参数添加到指定的index位置。

2删除

StringBuffer delete(start,end):删除缓冲区中的数据,包含start,不包含end。

StringBuffer deleteCharAt(index):删除指定位置的字符。

3获取

4修改

StringBuffer replace(start,end,string):将指定的位置范围替换成指定的数据。

void setCharAt(int index,char ch):将指定的位置替换成指定的数据。

5反转

StringBuffer reverse():将容器里的数据反向输出。

String类复写了Object类中equals()方法,该方法用于判断字符串是否相等

String s1 = “abc”;

String s2 = new String(“abc”);

s1和s2之间的区别:

s1是一个类类型变量,”abc”是一个对象.

s1在内存中有一个对象(”abc”),s2在内存中有两个对象(new是一个,”abc”是一个)。

StringBuilder

StringBuilder和StringBuffer都是处理字符串的类,他们的用法和方法几乎一致。

StringBuilder:没有处理线程同步问题。

StringBuffer:自动处理了线程同步的。

升级的三要素:提高效率,简化书写,提高安全性

7基本数据类型对象包装:(前面是类, 后面是类型)

Boolean  boolean                         Byte     byet                         Char     char

Short    short                               Integer   int               Long     long

Float     float                            Double   double

C#

1、String.IndexOf

String.IndexOf 方法 (Char, Int32, Int32)
报告指定字符在此实例中的第一个匹配项的索引。搜索从指定字符位置开始,并检查指定数量的字符位置。
String.IndexOf(value, startIndex, count)

参数
value:要查找的 Unicode 字符。
startIndex:搜索起始位置。
count:要检查的字符位置数。
返回值(Int32):
如果找到该字符,则为 value 的索引位置;否则如果未找到,则为 -1。

示例:
string str = "深圳市盈基实业有限公司国际通邓事文*深圳市盈基实业有限公司国际通邓事文";
Label1.Text = str.IndexOf("中国").ToString();//返回 -1
Label1.Text = str.IndexOf("盈基").ToString();//返回 3
Label1.Text = str.IndexOf("盈基",10).ToString();//返回21 说明:这是从第10个字符开始查起。
Label1.Text = str.IndexOf("邓",15,10).ToString();//返回 -1
Label1.Text = str.IndexOf("邓",15,20).ToString();//返回 -32 说明:从第15个字符开始查找,要查找的范围是从第15个字符开始后20个字符,即从第15-35个字符中查找。

2、String.LastIndexOf

String.LastIndexOf 方法
报告指定的 Unicode 字符或 String 在此实例中的最后一个匹配项的索引位置。

名称

说明

String.LastIndexOf (Char)

报告指定 Unicode 字符在此实例中的最后一个匹配项的索引位置。

String.LastIndexOf (String)

报告指定的 String 在此实例内的最后一个匹配项的索引位置。

String.LastIndexOf (Char, Int32)

报告指定 Unicode 字符在此实例中的最后一个匹配项的索引位置。该搜索从指定字符位置开始。

String.LastIndexOf (String, Int32)

报告指定的 String 在此实例内的最后一个匹配项的索引位置。该搜索从指定字符位置开始。

String.LastIndexOf (String, StringComparison)

报告指定字符串在当前 String 对象中最后一个匹配项的索引。一个参数指定要用于指定字符串的搜索类型。

String.LastIndexOf (Char, Int32, Int32)

报告指定的 Unicode 字符在此实例内的子字符串中的最后一个匹配项的索引位置。搜索从指定字符位置开始,并检查指定数量的字符位置。

String.LastIndexOf (String, Int32, Int32)

报告指定的 String 在此实例内的最后一个匹配项的索引位置。搜索从指定字符位置开始,并检查指定数量的字符位置。

String.LastIndexOf (String, Int32, StringComparison)

报告指定字符串在当前 String 对象中最后一个匹配项的索引。参数指定当前字符串中的起始搜索位置,以及要用于指定字符串的搜索类型。

String.LastIndexOf (String, Int32, Int32, StringComparison)

报告指定的 String 对象在此实例内的最后一个匹配项的索引位置。参数指定当前字符串中的起始搜索位置、要搜索的当前字符串中的字符数量,以及要用于指定字符串的搜索类型。

示例:
string str = "深圳市盈基实业有限公司国际通邓事文*深圳市盈基实业有限公司国际通邓事文";
Label1.Text = str.LastIndexOf("邓文").ToString();//返回-1
Label1.Text = str.LastIndexOf("邓").ToString();//返回32

Label1.Text = str.LastIndexOf("邓",8).ToString();//返回-1
Label1.Text = str.LastIndexOf("邓",20).ToString();//返回14
Label1.Text = str.LastIndexOf("邓",33).ToString();//返回32
说明:在指定的范围内查找字符,这个范围是上面的输入的参数,理解为,从索引0开始到指定的数值位置范围内查找最后一个匹配的的字符串的位置。示例中,0-8中没有“邓”字,所以返回-1,0-20范围中,有一个“邓”字在索引14位置上,0-33范围中有两个“邓”字,因为LastIndexOf是返回最后一个匹配项索引位置,所以返32,而不是14。

3、String.Substring

String.Substring 方法
从此实例检索子字符串。

名称

说明

String.Substring (Int32)

从此实例检索子字符串。子字符串从指定的字符位置开始。

String.Substring (Int32, Int32)

从此实例检索子字符串。子字符串从指定的字符位置开始且具有指定的长度。

示例:
string str = "深圳市盈基实业有限公司国际通邓事文*深圳市盈基实业有限公司国际通邓事文";
Label1.Text = str.Substring(11);//返回 “国际通邓事文*深圳市盈基实业有限公司国际通邓事文”
Label1.Text = str.Substring(11,7);//返回 “国际通邓事文*”

String 类提供的成员执行以下操作:比较 String 对象;返回 String 对象内字符或字符串的索引;复制 String 对象的值;分隔字符串或组合字符串;修改字符串的值;将数字、日期和时间或枚举值的格式设置为字符串;对字符串进行规范化。

Format(String, Object)

将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项。

Format(String, array<Object>[]()[])

将指定 String 中的格式项替换为指定数组中相应 Object 实例的值的文本等效项。

Format(IFormatProvider, String, array<Object>[]()[])

将指定 String 中的格式项替换为指定数组中相应 Object 实例的值的文本等效项。指定的参数提供区域性特定的格式设置信息。

Format(String, Object, Object)

将指定的 String 中的格式项替换为两个指定的 Object 实例的值的文本等效项。

Format(String, Object, Object, Object)

将指定的 String 中的格式项替换为三个指定的 Object 实例的值的文本等效项。

数据库

Java和C#中神奇的String的更多相关文章

  1. java和js中int和String相互转换常用方法整理

    java中int和String的相互转换常用的几种方法: int  > String int i=10;String s="";第一种方法:s=i+""; ...

  2. JAVA 去除实体中类型为string的属性值中的空格

    前端传入的参数实体中,有时候会出现传入了一空格,导致操作失败,这时就可以利用java反射机制去除实体中类型为sting的属性值中的空格. java代码示例: package com.spyang.ut ...

  3. Java中如何将String转成Date

    Java中如何将String转成Date 最近在开发Json数据反序列化为Java对象的时候发现spring mvc 和 Jackson 对Date类型对支持不是特别好,虽然在Java对象序列化为Js ...

  4. java中特殊的String类型

    Java中String是一个特殊的包装类数据有两种创建形式: String s = "abc"; String s = new String("abc"); 第 ...

  5. JAVA中char和String/值类型和引用类型的区别

    import java.util.*; class test { public static void main(String[] args) { char a[] = {'b', 'a', 'c'} ...

  6. java中Integer 和String 之间的转换

    java中Integer 和String 之间的转换 将数组转换成字符串:char[] array = {'a','b','c','d','e'};String str = new String(ar ...

  7. java和python中的string和int数据类型的转换

    未经允许,禁止转载!!! 在平时写代码的时候经常会用到string和int数据类型的转换 由于java和python在string和int数据类型转换的时候是不一样的 下面总结了java和python ...

  8. JAVA中神奇的双刃剑--Unsafe

    前提 参考资料: Java魔法类:sun.misc.Unsafe 在openjdk8下看Unsafe源码 Unsafe介绍 在Oracle的Jdk8无法获取到sun.misc包的源码,想看此包的源码可 ...

  9. Java中Date与String的相互转换

    我们在注册网站的时候,往往需要填写个人信息,如姓名,年龄,出生日期等,在页面上的出生日期的值传递到后台的时候是一个字符串,而我们存入数据库的时候确需要一个日期类型,反过来,在页面上显示的时候,需要从数 ...

随机推荐

  1. UVA1363 - Joseph's Problem(数学,迷之优化)

    题意:给出n和k,1≤n,k≤1e9,计算 切入点是k/i 和 k/(i+1)差距不大.令pi = k/i, ri = k%i.如果pi+1 == pi,那么ri+1 == k - pi(i+1) = ...

  2. 【BZOJ4458】GTY的OJ(树上超级钢琴)

    点此看题面 大致题意: 给你一棵树,让你求出每一个节点向上的长度在\([l,r]\)范围内的路径权值和最大的\(m\)条路径的权值总和. 关于此题的数列版本 此题的数列版本,就是比较著名的[BZOJ2 ...

  3. Abode Dreamweaver cc 安装与激活

    原文链接Abode Dreamweaver CC是Adobe宣布放弃Creative Suite系列产品后推出的新版Creative Cloud产品,功能上修复了CS6中出现的选取代码不精准的问题,最 ...

  4. Java之JDK的下载与安装,java环境变量的配置,Editplus的下载与使用

    JRE(Java Runtime Environment Java运行环境) 包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发 ...

  5. js常见问题总结归纳

    一.使用 typeof bar === "object" 来确定 bar 是否是对象的潜在陷阱是什么?如何避免这个陷阱? 首先typeof bar === "object ...

  6. Express session的使用

    进行session存储时需引用中间件,app.js var express=require('express'); var app=express(); var cookieParser = requ ...

  7. Linux运维常用命令详解

    1.ls 文件属性:  -:普通文件  d:目录文件  b:块设备  c:字符设备文件  l:符号连接文件  p:命令管道  s:套接字文件  文件权限: 9位数字,每3位一组  文件硬链接次数  文 ...

  8. 微信小游戏 demo 飞机大战 代码分析 (三)(spirit.js, animation.js)

    微信小游戏 demo 飞机大战 代码分析(三)(spirit.js, animation.js) 微信小游戏 demo 飞机大战 代码分析(一)(main.js) 微信小游戏 demo 飞机大战 代码 ...

  9. Python小项目之五子棋

    1.项目简介 在刚刚学习完python套接字的时候做的一个五子棋小游戏,可以在局域网内双人对战,也可以和电脑对战 2.实现思路 局域网对战 对于局域网功能来说,首先建立连接(tcp),然后每次下棋时将 ...

  10. vue.js 一(基础环境搭建)

    之前由于看了React的东西,写了两篇React的脚手架搭建,一是给自己记一点可用的东西,免得每次都去找,毕竟搭建环境在项目相对固定的时期不是经常要干的事情,一段时间不用就会忘记了. 前端的js框架还 ...