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. Linux命令技巧:如何在Linux下重命名多个文件

    我知道我可以用mv命令重命名文件.但是当我想重命名很多文件怎么办?如果为每个文件都这么做将会是很乏味的.有没有办法一次性重命名多个文件? 在Linux中,当你想要改变一个文件名,使用mv命令就好了.然 ...

  2. Aizu 2456 Usoperanto (贪心)

    贪心,对于一个修饰关系可以连一条有向边,在合并的时候,子节点的序列一定是连续安排的,因为如果有交叉,交换以后一定更优. 然后一个序列一个序列的考虑,长度短的应该在前面,否则同样交换以后更优.因此排序以 ...

  3. 用ComboBox控件制作浏览器网址输入框

    实现效果: 知识运用: ComboBox控件的FindString public int FindString(string s) //查找数据项集合中指定数据项的索引 和Select方法 publi ...

  4. 使用POI解析Excel文件

    Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 下载开发包: 解压上面的zip文件: 在项目中引入 ...

  5. CSVDE

    csvde -f C:\export_OrganizationalUnit.csv -r '(objectClass=organizationalUnit)' -l 'displayName,prox ...

  6. Express框架 --router/app.use

    翻看去年自己记录的印象笔记,准备把笔记上的一些内容也同时更新到博客上,方便自己查看. 1.app.use和app.get的区别及解析 app.use(path,callback)中的callback既 ...

  7. v4l2解析

    v4l2的学习建议和流程解析: http://www.cnblogs.com/silence-hust/p/4464291.html 补充: 枚举设备所支持的image format: VIDIOC_ ...

  8. Linux-准备工作

    首先安装一个box,安装一个centos7,然后就是xshell,接下来就是 查看ip ifconfig ip addr vi /etc/sysconfig/network-scripts/ifcfg ...

  9. 为什么90%的IT人员都不适合做老大?

    什么是格局? 格局就是能够很好的平衡短期利益和长期利益. 过分注重短期利益的人必然会失去长期利益,到头来一定会很普通. 例如:跳槽不断,可能短期薪资会增长,但长期来看后劲可能会不足,未来发展空间会变窄 ...

  10. 关于springboot配置文件的另类读取方法

    一.背景故事   前阵子我接手了公司另外一个同事手里的项目,项目是用的springboot 写的,但是比较坑的就是这个项目写的有点不伦不类.虽然是用的springboot,但由于他是拿了一堆代码拼凑起 ...