“.” 是特殊字符,正确表示应该是“\\.”。
另外还有replace ,replaceAll ,这两者都是由正则表达式类库实现的,但是 replace 采用的是字符串原有的意思来替换,而 replaceAll 则是按照正则表达式的字符串来替换,正则表达式中有 15 个元字符,是有特殊意义的,使用时需要转义,这 15 个字符分别是
( [ { \ ^ - $ ** } ] ) ? * + .
转义时可以采用两种方式:
正则表达式中表述上述字符,需要在前面加上“\”,但是“\”是 Java 中的特殊字符,在 Java 代码中用“\\”表示正则表达式中的“\”。
在需要保留本身意义的前后加上 \Q 和 \E,把特殊字符放在这里面就成普通字符了。
若想表示一个“\”,在 Java 代码中需要使用“\\\\”。
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知识,那么可以点击本站的其他文章进行学习。
java中的特殊符号不能直接输出,需要使用转义字符进行转义才能正常输出,如下:
package com.beanpublic class Change {
public String ChangeText(String text){
char[]cs=text.toCharArray()
StringBuffer sb = new StringBuffer()
for(int i = 0 i<cs.length i++){
char c = cs[i]
if(c==' '){
sb.append("&nbsp")//将空格转换成&nbsp
}else if(c=='\n'){
sb.append("<br>")
}else if(c=='>'){
sb.append("&gt")
}else if(c=='<'){
sb.append("&lt")
}else if(c=='&'){
sb.append("&amp")
}else{
sb.append(c)
}
}
return sb.toString()
}
}
输出的转义字符为: \n,>,<,&,一般用于解析html文件
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)