介绍
小编给大家分享一下Java如何利用StringBuffer替换特殊字符,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
为保证学生输入的Java文件名合格,将利用StringBuffer类实现对Java文件名中的特殊符号进行替换,包括将中文状态下的“。”和全角状态下的“。”替换为英文状态下的”。”。
在本例实现过程中主要使用了StringBuffer类的字符查找和替换方法,实现代码如下:
import java.util.Scanner; public class  test2 { ,,,public static void main (String [], args), { ,,,,,,,System.out.println(“请输入你要提交的Java文件名称:“); ,,,,,,,Scanner input =, new 扫描仪(系统); ,,,,,,,String fileName =, input.next();,//,获取用户输入的,java 文件名称 ,,,,,,,//,定义StringBuffer对象,字符串内容为用户输入的java文件名称 ,,,,,,,StringBuffer file =, new StringBuffer(文件名); ,,,,,,,//,获取英文状态下的“管理者”,是否存在 ,,,,,,,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, & # 39; # 39;公司); ,,,,,,,,,,,System.out.println(“你的书写有误,已改正为:“,+,file +,“\ r \ n提交成功!“); ,,,,,,,},else if (errIndex2 !=, 1,,,, file.substring(时间+ errIndex2 1, file.length ()) .equals (“java")), { ,,,,,,,,,,,//,将全角状态下的“管理者”,改为英文状态下的“!” ,,,,,,,,,,,file.setCharAt (errIndex2, & # 39; # 39;公司); ,,,,,,,,,,,System.out.println(“你的书写有误,已改正为:“,+,file +,“\ r \ n提交成功!“); ,,,,,,,},{else ,,,,,,,,,,,System.out.println(“你提供的java文件名称有误,请核实!“); ,,,,,,,} ,,,} }
运行该程序,当用户录入的Java文件名称中的为中文状态的“。”和“。”时,修改为英文状态下的“。”,然后再进行提交,如下所示:
请输入你要提交的Java文件名称:
引用>
myexapmle.java
你的书写有误,已改正为:myexample。java
在该程序中,实现替换特殊字符步骤如下所示:
<李>
定义了一个字符串类型的变量,并赋值为用户输入的java文件名称。
李> <李>使用StringBuffer的StringBuffer (String str)构造函数将该变量的值作为StringBuffer对象的值。
李> <李>获取用户输入字符串中(英文和中文)的位置。
李> <李>使用多重如果选择语句判断用户输入的字符串中是否包含英文状态下的,并且后面的字符串是否为“java”,如果条件成立,则表示用户输入的信息无误,提交成功。
李> <李>在else if中判断用户输入的字符串中是否包含中文状态下的“。”和”。”,并且“。”和后面的字符串为“java”,如果判断通过,则调用StringBuffer类中的setCharAt()方法修改”,“为”。”,再提交。
李>补充:用StringBuffer替换特定位置字符
import java.util。*; public class  Solution { public static  void main (String [], args) { Scanner sc =, new 扫描仪(系统); 而(sc.hasNextLine ()) { StringBuffer s=new  StringBuffer (); s.append (sc.nextLine ()); 如果(s.length()在=1,,s.length () & lt;=10) { int j=0; (int i=0; i< s.length() 1;我+ +){ 如果(s.charAt (i)==s.charAt (i + 1)) { + +; s.setCharAt (i + 1 & # 39; z # 39;);//替换特定字符 } } System.out.println (j); } else 继续; } } }Java如何利用StringBuffer替换特殊字符