java中replace和replaceAll的区别

Python070

java中replace和replaceAll的区别,第1张

1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串)\r\n2)replaceAll的参数是regex,即基于规则表达式的替换,比如,可以通过replaceAll("\\d", "*")把一个字符串所有的数字字符都换成星号\r\n\r\n相同点是都是全部替换,即把源字符串中的某一字符或字符串全部换成指定的字符或字符串,如果只想替换第一次出现的,可以使用 replaceFirst(),这个方法也是基于规则表达式的替换,但与replaceAll()不同的是,只替换第一次出现的字符串\r\n另外,如果replaceAll()和replaceFirst()所用的参数据不是基于规则表达式的,则与replace()替换字符串的效果是一样的,即这两者也支持字符串的操作\r\n还有一点注意:执行了替换操作后,源字符串的内容是没有发生改变的. \r\n\r\n举例如下: \r\n\r\nString src = new String("ab43a2c43d")\r\n\r\nSystem.out.println(src.replace("3","f"))=>ab4f2c4fd. \r\nSystem.out.println(src.replace('3','f'))=>ab4f2c4fd. \r\nSystem.out.println(src.replaceAll("\\d","f"))=>abffafcffd. \r\nSystem.out.println(src.replaceAll("a","f"))=>fb43fc23d. \r\nSystem.out.println(src.replaceFirst("\\d,"f"))=>abf32c43d \r\nSystem.out.println(src.replaceFirst("4","h"))=>abh32c43d.

Java替换特殊字符的方法是什么?在本实例中为保证学生输入的 Java 文件名合格,将利用 StringBuffer 类实现对 Java 文件名中的特殊符号进行替换,包括将中文状态下的“。”和全角状态下的“.”替换为英文状态下的“.”。

在本例实现过程中主要使用了 StringBuffer 类的字符查找和替换方法,实现用Java替换特殊字符代码如下:

import java.util.Scanner

public class test2 {

public static void main(String[] args) {

System.out.println("请输入你要提交的Java文件名称:")

Scanner input = new Scanner(System.in)

String fileName = input.next()// 获取用户输入的 java 文件名称

// 定义StringBuffer对象,字符串内容为用户输入的java文件名称

StringBuffer file = new StringBuffer(fileName)

// 获取英文状态下的"."是否存在

int index = file.lastIndexOf(".")

// 判断中文状态下的"。"和"."是否存在

int errIndex1 = file.lastIndexOf("。")

int errIndex2 = file.lastIndexOf(".")

if (index != -1 &&file.substring(index + 1, file.length()).equals("java")) {

System.out.println("作业提交成功!")

} else if (errIndex1 != -1 &&file.substring(errIndex1 + 1, file.length()).equals("java")) {

// 将中文状态下的"。"改为英文状态下的"."

file.setCharAt(errIndex1, '.')

System.out.println("你的书写有误,已改正为:" + file + "rn提交成功!")

} else if (errIndex2 != -1 &&file.substring(errIndex2 + 1, file.length()).equals("java")) {

// 将全角状态下的"."改为英文状态下的"."

file.setCharAt(errIndex2, '.')

System.out.println("你的书写有误,已改正为:" + file + "rn提交成功!")

} else {

System.out.println("你提供的java文件名称有误,请核实!")

}

}

}[page]

Java替换特殊字符的方法是什么?运行该用Java替换特殊字符程序,当用户录入的 Java 文件名称中的为中文状态的“。”和“.”时,修改为英文状态下的“.”,然后再进行提交,如下所示:

请输入你要提交的Java文件名称:

myexapmle。java

你的书写有误,已改正为:myexample.java

在该程序中,实现替换特殊字符步骤如下所示:

定义了一个 String 类型的变量,并赋值为用户输入的 Java 文件名称。

使用 StringBuffer 的 StringBuffer(String str) 构造函数将该变量的值作为 StringBuffer 对象的值。

获取用户输入字符串中(英文和中文)的位置。

使用多重 if 选择语句判断用户输入的字符串中是否包含英文状态下的,并且后面的字符串是否为“java”,如果条件成立,则表示用户输入的信息无误,提交成功。

在 else if 中判断用户输入的字符串中是否包含中文状态下的“。”和“.”,并且“。”和后面的字符串为“java”,如果判断通过,则调用 StringBuffer 类中的 setCharAt() 方法修改“。”为“.”,再提交。

本篇《Java替换特殊字符的方法是什么?这些内容才是做好Java必须会的》到这里就已经结束了,并不是所有的数据类型都可以指定直接数量,通常只有三种类型:原语、字符串和NULL,环球网校的小编祝您PHP学习之路顺利,如果你还想知道更多Java知识,那么可以点击本站的其他文章进行学习。

publicclassTestString{publicstaticvoidmain(String[]args){Stringa="StringGo";String[]b={"a","b","o"};//得到字符串中最后一个字符//注意最好在接受的时候用char类型的包装类CharacterCharacterlastChar=a。charAt(a。length()-1);

for(inti=0;i<b。length;i++){if(lastChar。toString()。equals(b[i])){b[i]="替换";}}for(inti=0;i<b。length;i++){System。out。println(b[i]);

字符串在存储上类似字符数组

它每一位单个元素都是能提取的,字符串的零位是它的长度,如s[0]=10,这提供给我们很多方便,例如高精度运算时每一位都能转化为数字存入数组。

通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。

以上内容参考:百度百科-字符串