Java中string的相关函数

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java中string的相关函数

字串与字元

文字字串是一个相当基本且经常被使用到的资料型态,然而在Java 中字串不象char、int 与float 一样是个基本资料型态,而是使用ng.String 类别来加以表示,该类别定义了许多有用的方法来操作字串。String 物件是固定不变的(immutable):一旦一个String 物件被建立了,则没有任何方法可以改变它所代表的文字,因此,每个运作字串的方法会传回一个新的String 物件,而所修正过后的字串便是储存在此新物件里。

以下的程式码展示了你可以对字串所执行的运作:

// 建立字串

String s = "Now "; // String 物件有个特殊的写法

String t = s + "is the time. "; // 使用+ 运算子来串连字串

String t1 = s + " " + 23.4; // + 将其它值转换为字串

t1 = String.valueOf( 'c '); // 从字元值获得对应的字串

t1 = String.valueOf(42); // 获得整数或其他任何数值的字串版本

t1 = Object.toString(); // 使用toString() 将物件转换为字串

// 字串长度

int len = t.length(); // 字串中的字元数:16

// 字串中的子字串

String sub = t.substring(4); // 传回从char 4 到最后的子字串:"is the time. "

sub = t.substring(4, 6); // 传回chars 4 与5:"is "

sub = t.substring(0, 3); // 传回chars 0 到2:"Now "

sub = t.substring(x, y); // 传回从位置x 到y-1 间的子字串

int numchars = sub.length(); // 子字串的长度永远是(y-x)

// 从一个字串中撷取(extract)出字元

char c = t.charAt(2); // 取得t 的第三个字元:w

char[] ca = t.toCharArray(); // 将字串转换为一个字元阵列

t.getChars(0, 3, ca, 1); // 将t 中的前三个字元放到ca[1] 到ca[3] 中

// 大小写转换

String caps = t.toUpperCase(); // 转换为大写

String lower = t.toLowerCase(); // 转换为小写

// 字串比较

boolean b1 = t.equals( "hello "); // 传回flase:两字串并不相等

boolean b2 = t.equalsIgnoreCase(caps); // 忽略大小写的字串比较:true

boolean b3 = t.startsWith( "Now "); // 传回true

boolean b4 = t.endsWith( "time. "); // 传回true

int r1 = pareTo( "Pow "); // 传回值<0:s 在"Pow "之前

int r2 = pareTo( "Now "); // 传回值0:两字串相等

int r3 = pareTo( "Mow "); // 传回值> 0:s 在"Mow "之后

r1 = pareToIgnoreCase( "pow "); // 传回值<0(Java 1.2 之后才支援)

// 搜寻字元与子字串

int pos = t.indexOf( 'i '); // 'i ' 的位置:4

pos = t.indexOf( 'i ', pos + 1); // 下一个'i ' 的位置:12

pos = t.indexOf( 'i ', pos + 1); // 字串中已经没有'i ' 了,传回-1

pos = stIndexOf( 'i '); // 字串中最后一个'i ' 的位置:12

pos = stIndexOf( 'i ', pos - 1); // 从char 11 开始往前搜寻'i '

pos = t.indexOf( "is "); // 搜寻子字串:传回 4

pos = t.indexOf( "is ", pos + 1); // 只出现一次:传回-1

pos = stIndexOf( "the "); // 由后往前搜寻字串

String noun = t.substring(pos + 4); // 撷取出"the " 之后的字串

// 将某个字元实体转换为另一个字元

String exclaim = t.replace( '. ', '! '); // 只能与字元一起使用,不能与子字串一起使用

// 将字串最前面的与最后面的空白删除

String noextraspaces = t.trim();

// 使用intern() 获得独有的字串实体

String s1 = s.intern(); // 传回s1,相等于s

String s2 = "Now ".intern(); // 传回s2,相等于"Now "

boolean equals = (s1 == s2); // 以== 测试s1、s2 是否相等

String查找指定字符串在字符串中第一次或最后一词出现的位置:

在String类中提供了两种查找指定位置的字符串第一次出现的位置的方法

(1)public int indexOf(String str);//从字符串开始检索str,并返回第一次出现的位置,未出现返回-1

(2)public int indexOf(String str,int fromIndex);//从字符串的第fromIndex个字符开始检索str

查找最后一次出现的位置有两种方法

(1)public int lastIndexOf(String str);

(2)public int lastIndexOf(String str,int fromIndex);

如果不关心字符串的确切位置则可使用public boolean contains(CharSequence s);

相关文档
最新文档