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

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

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 + "\r\n提交成功!");

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

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

file.setCharAt(errIndex2, '.');

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

} else {

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

}

}

}

运行该程序,当用户录入的 Java 文件名称中的为中文状态的“。”和“.”时,修改为英文状态下的“.”,然后再进行提交,如下所示:

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

myexapmle。java

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

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

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

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

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

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

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

java替换特殊字符_Java StringBuffer替换特殊字符相关推荐

  1. java 正则表达式过滤_java正则表达式过滤特殊字符

    Java用正则表达式 过滤特殊字符,只允许中文.字母Java用正则表达式 过滤特殊字符,只允许中文.字母或数字,该怎么写? String s1="我是正确测试数据aasdf2342343AS ...

  2. java 正则替换 或_Java正则替换

    /** * 替换上下文 * * @author tianhongjun * */ static class EvaluateContext { private int startPos; privat ...

  3. java 正则出特殊字符_java正则_特殊字符处理

    一.特殊字符转义 点的转义:. ==> \\u002E 美元符号的转义:$ ==> \\u0024 乘方符号的转义:^ ==> \\u005E 左大括号的转义:{ ==> \\ ...

  4. java校验特殊字符_java中文及特殊字符的校验方法

    本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下 1.关于Character.UnicodeBlock的介绍 CJK的意思是"Chinese,Japane ...

  5. java校验特殊字符_java 中文及特殊字符校验

    java 中文及特殊字符校验 CreateTime--2017年8月25日16:54:50 Author:Marydon 一.参考链接 二.具体实现 1.关于Character.UnicodeBloc ...

  6. java nul 字符_Java字符串替换和NUL(NULL,ASCII 0)字符?

    用空字符替换字符中的字符甚至在Java中工作吗?我知道'\ 0'会终止一个c字符串. 这取决于你如何定义工作.是否用'\0'替换了所有出现的目标字符?绝对! String s = "food ...

  7. java正则手机号_Java正则替换手机号代码实例

    在日常生活中,我们经常会遇到将一个手机号的4-7位字符串用正则表达式替换为为星号"*".这是出于对安全性和保护客户隐私的考虑将程序设计成这样的.下面我们就来看看具体代码. pack ...

  8. java正则表达式 替换空格_Java正则表达式替换移除空行和多余的空格

    这几天重拾Java写代码,须要操做文本文件中的内容.正则表达式 最终,要把内容里的空行和多余的连续空格移除,使用String里的replace或者replaceAll,试了不少次都没有成功.spa 最 ...

  9. java正则包含特殊字符_java – 捕获由特殊字符嵌套/包含的正则表达式组

    我正在尝试搜索出现在波浪号(〜)符号边框内的单词. e.g. ~albert~ is a ~good~ boy. 我知道这可以通过使用〜来实现. ?〜,它已经适合我了.但是有些特殊情况需要匹配嵌套的波 ...

最新文章

  1. go语言panic机制的原理
  2. 跳车开发者Pokkst自述——从BTC到BCH
  3. 用 Redis 实现分布式锁(分析)
  4. APP技巧:微信中这6个设置建议关闭,可以防止个人信息或将全暴露,赶快看一看吧!...
  5. ArcGIS API for Silverlight中legend控件显示图例问题
  6. 略论bs架构设计的几种模式
  7. java装箱和拆箱的意义_java的自动拆箱和装箱是每个程序员都要知道的
  8. C语言入门篇(二)指针的介绍和运用
  9. Form表单的五个属性
  10. IT程序猿常用编辑工具:UltraEdit for Mac v21.00.0.12中文版
  11. 2019版PHP自动发卡平台源码
  12. 梦幻西游玩家最多的服务器,都说你是《梦幻西游》老玩家,这5个著名服务器你知道几个?...
  13. 707. 设计链表(中等 链表)
  14. 股指期货术语大全(股指期货的意思)
  15. uniapp的项目,scss和js实现跑马灯
  16. Swing交通罚单管理系统java车辆违章缴费金额查询交警信息jsp源代码Maven数据库mysql
  17. 【深度学习技巧】数据扩充--常规手法
  18. 交换机获取MAC地址
  19. greasemonkey_在Firefox中更改或设置Greasemonkey脚本编辑器
  20. 超火表白代码,心心(html+css)

热门文章

  1. php简单的用户留言板实现内容(1-23)
  2. Python 模块(二)
  3. 深入浅出requireJS-1
  4. springmvc resources 配置
  5. sql server存储过程中解决单引号的问题
  6. MFC的六大关键技术
  7. PHP中foreach遍历循环的使用(两种用法)
  8. 毕设ssm商城系统_ssm商城系统(爱淘淘购物)项目源码
  9. 快递下单后取消订单_网约车定位地点不动,男子别的平台下单,没取消订单要付6.6元...
  10. 编程题走迷宫_C++程序算法题----迷宫(一)