Java替換特殊字符的方法是什么?在本實(shí)例中為保證學(xué)生輸入的 Java 文件名合格,將利用 StringBuffer 類實(shí)現(xiàn)對(duì) Java 文件名中的特殊符號(hào)進(jìn)行替換,包括將中文狀態(tài)下的“?!焙腿菭顟B(tài)下的“.”替換為英文狀態(tài)下的“.”。
順城ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!
在本例實(shí)現(xiàn)過程中主要使用了 StringBuffer 類的字符查找和替換方法,實(shí)現(xiàn)用Java替換特殊字符代碼如下:
import java.util.Scanner;
public class test2 {
public static void main(String[] args) {
System.out.println("請(qǐng)輸入你要提交的Java文件名稱:");
Scanner input = new Scanner(System.in);
String fileName = input.next(); // 獲取用戶輸入的 java 文件名稱
// 定義StringBuffer對(duì)象,字符串內(nèi)容為用戶輸入的java文件名稱
StringBuffer file = new StringBuffer(fileName);
// 獲取英文狀態(tài)下的"."是否存在
int index = file.lastIndexOf(".");
// 判斷中文狀態(tài)下的"。"和"."是否存在
int errIndex1 = file.lastIndexOf("。");
int errIndex2 = file.lastIndexOf(".");
if (index != -1 file.substring(index + 1, file.length()).equals("java")) {
System.out.println("作業(yè)提交成功!");
} else if (errIndex1 != -1 file.substring(errIndex1 + 1, file.length()).equals("java")) {
// 將中文狀態(tài)下的"。"改為英文狀態(tài)下的"."
file.setCharAt(errIndex1, '.');
System.out.println("你的書寫有誤,已改正為:" + file + "rn提交成功!");
} else if (errIndex2 != -1 file.substring(errIndex2 + 1, file.length()).equals("java")) {
// 將全角狀態(tài)下的"."改為英文狀態(tài)下的"."
file.setCharAt(errIndex2, '.');
System.out.println("你的書寫有誤,已改正為:" + file + "rn提交成功!");
} else {
System.out.println("你提供的java文件名稱有誤,請(qǐng)核實(shí)!");
}
}
}[page]
Java替換特殊字符的方法是什么?運(yùn)行該用Java替換特殊字符程序,當(dāng)用戶錄入的 Java 文件名稱中的為中文狀態(tài)的“。”和“.”時(shí),修改為英文狀態(tài)下的“.”,然后再進(jìn)行提交,如下所示:
請(qǐng)輸入你要提交的Java文件名稱:
myexapmle。java
你的書寫有誤,已改正為:myexample.java
在該程序中,實(shí)現(xiàn)替換特殊字符步驟如下所示:
定義了一個(gè) String 類型的變量,并賦值為用戶輸入的 Java 文件名稱。
使用 StringBuffer 的 StringBuffer(String str) 構(gòu)造函數(shù)將該變量的值作為 StringBuffer 對(duì)象的值。
獲取用戶輸入字符串中(英文和中文)的位置。
使用多重 if 選擇語句判斷用戶輸入的字符串中是否包含英文狀態(tài)下的,并且后面的字符串是否為“java”,如果條件成立,則表示用戶輸入的信息無誤,提交成功。
在 else if 中判斷用戶輸入的字符串中是否包含中文狀態(tài)下的“?!焙汀?”,并且“?!焙秃竺娴淖址疄椤癹ava”,如果判斷通過,則調(diào)用 StringBuffer 類中的 setCharAt() 方法修改“?!睘椤?”,再提交。
本篇《Java替換特殊字符的方法是什么?這些內(nèi)容才是做好Java必須會(huì)的》到這里就已經(jīng)結(jié)束了,并不是所有的數(shù)據(jù)類型都可以指定直接數(shù)量,通常只有三種類型:原語、字符串和NULL,環(huán)球網(wǎng)校的小編祝您PHP學(xué)習(xí)之路順利,如果你還想知道更多Java知識(shí),那么可以點(diǎn)擊本站的其他文章進(jìn)行學(xué)習(xí)。
如何將字符串中的"\"替換成"\\":
String msgIn;
String msgOut;
msgOut=msgIn.replaceAll("\\\\","\\\\\\\\");
原因:
'\'在java中是一個(gè)轉(zhuǎn)義字符,所以需要用兩個(gè)代表一個(gè)。例如System.out.println( "\\" ) ;只打印出一個(gè)"\"。但是'\'也是正則表達(dá)式中的轉(zhuǎn)義字符(replaceAll 的參數(shù)就是正則表達(dá)式),需要用兩個(gè)代表一個(gè)。所以:\\\\被java轉(zhuǎn)換成\\,\\又被正則表達(dá)式轉(zhuǎn)換成\。
同樣
CODE: \\\\\\\\
Java: \\\\
Regex: \\
將字符串中的'/'替換成'\'的幾種方式:
msgOut= msgIn.replaceAll("/", "\\\\");
msgOut= msgIn.replace("/", "\\");
msgOut= msgIn.replace('/', '\\');
將字符串中的'\'替換成'/'的幾種方式:
msgOut= msgIn.replaceAll("\\\\","/");
msgOut= msgIn.replace("\\","/");
我首先說下思路吧,你想更改文件中的字符串,首先你要使用java中的io把文件里面的內(nèi)容全部讀到一個(gè)字符串當(dāng)中,然后對(duì)這個(gè)字符串進(jìn)行查找替換的操作,最后在把你更改之后的這個(gè)字符串寫進(jìn)文件當(dāng)中,當(dāng)然是覆蓋掉這個(gè)文件。
這里我就用到FileOutputStream FileInputStream BufferedReader PrintWriter
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
try {
File file = new File("c:\\abc.txt");
// 建立一個(gè)file對(duì)象,參數(shù)就是你想訪問文件的路徑,這里我就不驗(yàn)證文件是否存在了
// 查下api即可
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream(file)));
List list =new ArrayList();
//定義一個(gè)集合存放每一行的字符串
while(true){
String str=br.readLine();
//讀取文件當(dāng)中的一行
if(str==null) break;
//如果讀取的是空,也就是文件讀取結(jié)束 跳出循環(huán)
int index=str.indexOf("zhidao");
//看此行的是否包含zhidao
if(index!=-1){
str.replace("zhidao", "answer");
//如果包含就把zhidao 換成answer
}
list.add(str);
//把修改之后的str放到集合當(dāng)中
}
br.close();
PrintWriter pw=new PrintWriter(file);
//建立一個(gè)輸出流,把東西寫入文件
for(int i=0;ilist.size();i++){
String str =(String)list.get(i);
//從集合當(dāng)中取出字符串
pw.println(str);
//把該字符串寫入文件當(dāng)中
}
pw.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}