java入门学习笔记之2(Java中的字符串操作)
发布日期:2022-04-05 00:52:11 浏览次数:3 分类:博客文章

本文共 4235 字,大约阅读时间需要 14 分钟。

因为对Python很熟悉,看着Java的各种字符串操作就不自觉的代入Python的实现方法上,于是就将Java实现方式与Python实现方式都写下来了。

先说一下总结,Java的字符串类String本身定义了一些简单的字符串操作,

字符串常用操作有:

下面开始:

1.取某一字符第一次出现/最后一次出现的索引

JAVA Python
1 public class Test {2         public static void main(String args[]){3                 String s = "Hello,World.";4                 System.out.println(s.indexOf("e"));5                 System.out.println(s.lastIndexOf("l"));6                 }7 }

 

 

1 #!/usr/bin/env python2 # -*-coding:utf-8-*-3 a = "HelloWorld"4 print a.find("l")5 print a.rfind("l")

 

 

 

 

 

 

 

 

 

 

 

 解释:

Java和Python中的字符串内容查找类似,都是直接使用字符串的内置方法。

其实根本原因是这两种语言中字符串都是一个实例化的类。

Java中的indexOf(str)与latsIndexOf(str)

Python中的find(str)与rfind(str)。

 

2. 取字符串某一位置的字符

Java Python
1 public class Test {2         public static void main(String args[]){3                 String s = "Hello,World.";4                 System.out.println(s.charAt(4));5                 }6 }

 

 
1 #!/usr/bin/env python2 # -*-coding:utf-8-*-3 a = "HelloWorld"4 print a[5]

 

 

 

 

 

 

 

 

 

解释:

Java使用字符串自带的方法charAt(index)

Python使用 切片方法,直接通过索引将字符串截取出来,或者说就像取数组中的某个值一样直接取出来。

其实写到这里越来越体会到Python的优雅和简洁。

 

3. 字符串截取

Java Python
1 public class Test {2         public static void main(String args[]){3                 String s = "Hello,World.";4                 System.out.println(s.substring(2,5));5                 }6 }

 

1 #!/usr/bin/env python2 # -*-coding:utf-8-*-3 a = "HelloWorld"4 print a[1:3]5 print a[1:]6 print a[:]7 print a[-1:]

 

 

 

 

 

 

 

 

 

 

 

解释:

字符串截取的过程就是将原字符串的一部分复制出来。

Java使用方法substring(indexbegin,indexend)来截取字符串。

Python仍然使用字符串切片的方法,各种花式截取。

其实Java如果真的想处理复杂字符串,一个是用正则,一个是将字符串split分割后处理数组。当处理数组时候和python就很类似了。

觉得这里Python真的吊打Java了。好了不应该说这些的,这篇文章又不是比较两个语言的优劣。

 

4.去除首尾空格

Java Python
1 public class Test {2         public static void main(String args[]){3                 String s = " Hello,World ";4                 System.out.println(s.trim());5                 }6 }

 

1 #!/usr/bin/env python2 # -*-coding:utf-8-*-3 a = "  HelloWorld  "4 b = " HelloWrold\n"5 print a.strip(" ")6 print b.strip("\n")

 

 

 

 

 

 

 

 

 

 

Java直接调用字符串方法trim(),去除首尾空格。

Python类似,使用strip()方法,但是支持按输入的参数去除。

 

5. 字符串替换

Java Python
1 public class Test {2         public static void main(String args[]){3                 String s = "Hello,World ";4                 System.out.println(s.replace("e","a"));5                 }6 }

 

1 #!/usr/bin/env python2 # -*-coding:utf-8-*-3 import re4 a = "HelloWorld  "5 b = "HelloWrold"6 print a.replace("l","")7 print re.sub("l","",a)

 

 

 

 

 

 

 

 

 

 

 

Java使用字符串方法replace

Python也可以使用replace方法。或者使用re模块。

6. 判断字符串相等

Java Python
1 public class Test { 2         public static void main(String args[]){ 3                 String str1 = "Hello,World"; 4                 String str2 = "Hello,World"; 5                 String str3 = new String("Hello,World"); 6                 String str4 = str3; 7                 System.out.println("str1 equals str2:"+str1.equals(str2)); 8                 System.out.println("str1 == str2:"+(str1 == str2)); 9                 System.out.println("str2 equals str3:"+str2.equals(str3 ));10                 System.out.println("str2 == str3:"+(str2==str3));11                 System.out.println("str3 equals str4:"+str3.equals(str4));12                 System.out.println("str3 == str4:"+(str3==str4));13                 }14 }
1 str1 equals str2:true2 str1 == str2:true3 str2 equals str3:true4 str2 == str3:false5 str3 equals str4:true6 str3 == str4:true

 

1 a = "HelloWorld"2 b = "HelloWorld"3 print (a==b)4 print (a is b)
TrueTrue

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Java中其实这一段有的说的。

equals()方法比较对象的内容,"=="比较是否是同一个对象。

内容上,str1=str2=str3=str4没得说。但是str1和str2是同一个对象,str3和str4是同一个对象。str2和str3并不是同一个对象。

这里就涉及到Java的引用与对象创建的问题,下一期在详细讨论。

7. 大小写转换

Java Python
1 public class Test {2         public static void main(String args[]){3                 String str1 = new String("Hello,World"); 4                 System.out.println(str1.toUpperCase());5                 System.out.println(str1.toLowerCase());6                 }7 }

 

1 a = "helloworld"2 print (a.capitalize())3 print (a.lower())4 print (a.upper())

 

 

 

 

 

 

 

 

 

 

 

Java和Python都使用了字符串内置方法进行大小写转换。

不过Python多了一个capitalize()方法进行首字母大写的处理。Java的话需要自己写一个方法去实现。

 

字符串常见操作就是这些,都是String类自带的方法。

indexOf(char),lastIndexOf(char)搜索字符的位置;

charAt(index)按索引取字符;

substring(begin,end)按索引截取子串;

trim()去除首尾空格;

replace(charA,charB)将所有charA替换为charB

equals(charA)判断是否与charA相等。==用来判断两个对象是否是同一个。

 

下一篇就Java的引用与对象做个研究。然后谈到了引用与对象就要说一下Java的堆与栈空间。

 

转载地址:https://www.cnblogs.com/lijianyang/p/7042198.html 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:library not found for -ljpush-ios-3.2.1错误
下一篇:Java入门学习笔记之3(四类八种数据类型)

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月08日 09时59分20秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章