关键词:
因为对Python很熟悉,看着Java的各种字符串操作就不自觉的代入Python的实现方法上,于是就将Java实现方式与Python实现方式都写下来了。
先说一下总结,Java的字符串类String本身定义了一些简单的字符串操作,
字符串常用操作有:
下面开始:
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 python 2 # -*-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)。
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 python 2 # -*-coding:utf-8-*- 3 a = "HelloWorld" 4 print a[5]
|
解释:
Java使用字符串自带的方法charAt(index)
Python使用 切片方法,直接通过索引将字符串截取出来,或者说就像取数组中的某个值一样直接取出来。
其实写到这里越来越体会到Python的优雅和简洁。
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 python 2 # -*-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了。好了不应该说这些的,这篇文章又不是比较两个语言的优劣。
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 python 2 # -*-coding:utf-8-*- 3 a = " HelloWorld " 4 b = " HelloWrold " 5 print a.strip(" ") 6 print b.strip(" ")
|
Java直接调用字符串方法trim(),去除首尾空格。
Python类似,使用strip()方法,但是支持按输入的参数去除。
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 python 2 # -*-coding:utf-8-*- 3 import re 4 a = "HelloWorld " 5 b = "HelloWrold" 6 print a.replace("l","") 7 print re.sub("l","",a)
|
Java使用字符串方法replace
Python也可以使用replace方法。或者使用re模块。
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:true 2 str1 == str2:true 3 str2 equals str3:true 4 str2 == str3:false 5 str3 equals str4:true 6 str3 == str4:true
|
1 a = "HelloWorld" 2 b = "HelloWorld" 3 print (a==b) 4 print (a is b) True
True
|
Java中其实这一段有的说的。
equals()方法比较对象的内容,"=="比较是否是同一个对象。
内容上,str1=str2=str3=str4没得说。但是str1和str2是同一个对象,str3和str4是同一个对象。str2和str3并不是同一个对象。
这里就涉及到Java的引用与对象创建的问题,下一期在详细讨论。
Java | Python |
1 public class Test { 2 public static void main(String args[]){ 3 String str1 = new String("Hello,World");
|
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的堆与栈空间。
java之jvm介绍(学习笔记入门)(代码片段)
为自己的学习笔记,图形说话java之所以这么强大是因为跨平台,最直接的就是jvm,每天我们都是写代码,CV大法。java->lcass-->jvm是如何演变呢?中间发生了啥?一、整个java的演变 图直观的看到如下:从... 查看详情
java入门学习笔记之1(类的定义,代码的编译执行)
这篇文章讲解Java代码的基本执行过程我们先抛开各种JAVAIDE,开发工具,只使用文本编辑器,以突出最本质的东西。在Linux环境下,我们编辑一个文件:vimHelloWorld.java编辑如下代码:1publicclassHelloWorld{2Stringname;3publicHelloWorld(Stringname){4... 查看详情
java小白入门200例111之collections类操作集合详解
文章目录作者简介引言导航概述排序实例1实例2实例3查找、替换操作实例1实例2实例3实例4小结导航热门专栏推荐作者简介作者名:编程界明世隐简介:CSDN博客专家,从事软件开发多年,精通Java、JavaScript,博主也是从零开始一... 查看详情
java:java学习笔记之string的常见用法(代码片段)
String的常见用法String的常见用法1、创建String2、字符串比较3、字符串查找4、字符串替换5、字符串拆分6、字符串截取7、转换功能的方法8、其他操作方法9、StringBuffer和StringBuilder9.1、StringBuilder的用法9.1.1、StringBuilder对象的创建9.1.... 查看详情
学习笔记之mariadb的入门操作(代码片段)
由于CentOS7将mysql全部都改成了mariadb。所以在CentOS下yum安装mysql是没有用的。虽然还是有一大堆软件包叫做mysql。mysql-community-release.noarchel7-5installedphp-mysql.x86_645.4.16-23.el7_0.3@RHELakonadi-mysql.x86_641.9.2-4.el7RHELdovec 查看详情
java学习笔记之字符串
Java的字符串String类中的还有许多的方法,上次由于在写的时候排版出现了问题,所以在这里继续写啊。好了废话不说了,来继续了解String的方法吧。trim()方法这个方法主要的去去除空格,忽略前导和后导的空白。... 查看详情
java超简明入门学习笔记
Java编程思想第4版学习笔记(二)第三章操作符&第四章控制执行流程(流程控制语句) 第三章和第四章的内容主要是讲操作符和流程控制语句,Java的大多数操作符和流程控制语句都和C/C++的十分类似,因此... 查看详情
java入门之collection集合笔记(35)(代码片段)
Collection集合一、集合类体系结构二、Collection集合的概述三、Collection集合常用方法1、add——添加元素2、remove——移除指定元素3、clear——清空集合中所有元素4、contains——判断集合是否存在某个元素5、isEmpty——判断集合是否... 查看详情
mongodb快速入门学习笔记8mongodb的java驱动操作
importjava.util.ArrayList;importjava.util.List;importjava.util.regex.Pattern;importorg.bson.Document;importcom.mongodb.MongoClient;importcom.mongodb.MongoCredential;importcom.mongodb.ServerAddre 查看详情
java学习笔记——设计模式之七.模板方法模式
模板方法模式(TemplateMethod),定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。结构图:代码:算法骨架:1packagecn.happy.design_pattern._0... 查看详情
java小白入门200例33之删除字符串中的空格(代码片段)
作者简介作者名:编程界明世隐简介:CSDN博客专家,从事软件开发多年,精通Java、JavaScript,博主也是从零开始一步步把学习成长、深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢迎您关注&... 查看详情
零基础入门学习java课堂笔记——day04
Java数组1.数组概述定义:数组是相同类型的有序集合,同一组同一类型的数据可以按照先后次序排列组合在一起,其中一个数据可以称为元素,每个数组元素可以通过一个下表访问它们2.数组声明创建dataType[]arrayRefVar;//firstdataType... 查看详情
java小白入门200例34之查找指定字符在字符串中的位置(代码片段)
作者简介作者名:编程界明世隐简介:CSDN博客专家,从事软件开发多年,精通Java、JavaScript,博主也是从零开始一步步把学习成长、深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢迎您关注&... 查看详情
java学习笔记4.1.1字符串-string类
...录零、本讲学习目标一、Java常用类二、String类(一)Java字符串概述(二)String类的初始化1、使用字符串常量直接初始化字符串对象(1)语法格式(2)简要说明(3)案例演示2、使用String类构造方法初始化字符串对象(1)语法... 查看详情
java学习笔记-4正则表达式
1、-?\d+ 一个或者没有减号,之后跟若干数字;2、(-|\+)?\d+ 一个减号或者一个加号或者都没有,之后跟若干数字;3、\W+ 一个或者多个非单词字符;4、\w+ 一个或者多个单词字符;5、(abc)+ 一个或者多个abc;6、abc+&... 查看详情
clickhouse-尚硅谷(3.入门-数据类型)学习笔记(代码片段)
...#xff09;学习笔记文章目录1.整型2.浮点型3.布尔型4.Decimal型5.字符串6.枚举类型7.时间类型8.数组9.其他1.整型 固定长度的整型,包括有符号整型(有正有负)或无符号整型。类比Java类型:CH类型Java类型整型范 查看详情
java超简明入门学习笔记
Java编程思想第4版学习笔记(三)第五章初始化与清理(构造器和垃圾回收机制) Java有和C++类似的构造函数来为新创建的对象执行初始化及完成一些特殊的操作,有的类数据成员可能会被初始化几次,它们的初... 查看详情
mybatisjava持久层框架入门与实践|学习笔记(代码片段)
Java持久层框架入门与实践|学习笔记导读本篇文章将带领读者学习MyBatis框架。开始文章简述MyBatis。之后将手把手的搭建一个简单的MyBatis框架的测试,先跑起来。随后将基于该测试讲解MyBatis框架中重要的几个配置文件。然后... 查看详情