一:思路:
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括天峨網(wǎng)站建設(shè)、天峨網(wǎng)站制作、天峨網(wǎng)頁制作以及天峨網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,天峨網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到天峨省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
使用java方法replaceAll();通過正則表達(dá)式匹配替換掉所有的字母。
二:代碼如下(可直接復(fù)制出來運(yùn)行,在控制臺(tái)中查看效果):
public?static?void?main(String[]?args){
String?str="abc123123成你懂嗎bxcxsaf";
//通過正則表達(dá)式替換掉所有的字母
String?strNew?=?str.replaceAll("[a-zA-Z]","");
System.out.println(strNew);
}
運(yùn)行結(jié)果如下:
三:擴(kuò)展(正則表達(dá)式)
正則表達(dá)式使用單個(gè)字符串來描述、匹配一系列符合某個(gè)句法規(guī)則的字符串。在很多情況下,通常被用來,檢索和替換符合某個(gè)規(guī)則的文本。
PS:有興趣可以深入研究一下正則表達(dá)式的語法,及規(guī)則。
我告訴你!直接使用replace()這個(gè)方法就行了!
replace是不帶正則表達(dá)式的全部字符串替換,replaceAll是帶正則表達(dá)式的全部字符串替換,并不是它們的英文直觀的意思!
詳細(xì)說明:
java字符串的替換replace、replaceAll、replaceFirst的區(qū)別詳解網(wǎng)頁鏈接
Java替換特殊字符的方法是什么?在本實(shí)例中為保證學(xué)生輸入的 Java 文件名合格,將利用 StringBuffer 類實(shí)現(xiàn)對 Java 文件名中的特殊符號進(jìn)行替換,包括將中文狀態(tài)下的“?!焙腿菭顟B(tài)下的“.”替換為英文狀態(tài)下的“.”。
在本例實(shí)現(xiàn)過程中主要使用了 StringBuffer 類的字符查找和替換方法,實(shí)現(xiàn)用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對象,字符串內(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文件名稱有誤,請核實(shí)!");
}
}
}[page]
Java替換特殊字符的方法是什么?運(yùn)行該用Java替換特殊字符程序,當(dāng)用戶錄入的 Java 文件名稱中的為中文狀態(tài)的“?!焙汀?”時(shí),修改為英文狀態(tài)下的“.”,然后再進(jìn)行提交,如下所示:
請輸入你要提交的Java文件名稱:
myexapmle。java
你的書寫有誤,已改正為:myexample.java
在該程序中,實(shí)現(xiàn)替換特殊字符步驟如下所示:
定義了一個(gè) String 類型的變量,并賦值為用戶輸入的 Java 文件名稱。
使用 StringBuffer 的 StringBuffer(String str) 構(gòu)造函數(shù)將該變量的值作為 StringBuffer 對象的值。
獲取用戶輸入字符串中(英文和中文)的位置。
使用多重 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知識,那么可以點(diǎn)擊本站的其他文章進(jìn)行學(xué)習(xí)。
這段代碼只能替換第一個(gè)oldStr,并且這個(gè)oldStr只能作為一行出現(xiàn)。不知道你想修改成什么樣的,是要修改成一行當(dāng)中的某個(gè)字符串嗎?還是什么。。。 如果這個(gè)oldStr并不是一行的話,你可以用StringTokenizer tokenizer = new StringTokenizer(line, oldStr);的方法來找到匹配的oldStr,然后對其進(jìn)行替換。如果需要替換全部的oldStr,你可以這樣做 while(temp = br.readLine()) != null ) { //逐行查找替換。用StringTokenizer } 更加簡單的方法就是,直接讀出文件,放到String中,用replaceAll的方法就可以替換所有的,用replaceFirst就能只替換第一個(gè)。
replace方法
該方法的作用是替換字符串中所有指定的字符,然后生成一個(gè)新的字符串。經(jīng)過該方法調(diào)用以后,原來的字符串不發(fā)生改變。例如:
String s = “abcat”;
String s1 = s.replace(‘a(chǎn)’,‘1’);
該代碼的作用是將字符串s中所有的字符a替換成字符1,生成的新字符串s1的值是“1bc1t”,而字符串s的內(nèi)容不發(fā)生改變。
如果需要將字符串中某個(gè)指定的字符串替換為其它字符串,則可以使用replaceAll方法,例如:
String s = “abatbac”;
String s1 = s.replaceAll(“ba”,“12”);
該代碼的作用是將字符串s中所有的字符串“ab”替換為“12”,生成新的字符串“a12t12c”,而字符串s的內(nèi)容也不發(fā)生改變。
如果只需要替換第一個(gè)出現(xiàn)的指定字符串時(shí),可以使用replaceFirst方法,例如:
String s = “abatbac”;
String s1 = s. replaceFirst (“ba”,“12”);
該代碼的作用是只將字符串s中第一次出現(xiàn)的字符串“ab”替換為字符串“12”,則字符串s1的值是“a12tbac”
廢話不多說直接上代碼
private void search() {
final JDialog jd=new JDialog();
final JTextField sjtf1=new JTextField(10);
final JTextField sjtf2=new JTextField(10);
JPanel sjp1=new JPanel();
sjp1.add(sjtf1);sjp1.add(sjtf2);
jd.add(sjp1);
JPanel sjp2=new JPanel();
JButton sjb1=new JButton("查找");
JButton sjb2=new JButton("替換");
sjp2.add(sjb1);sjp2.add(sjb2);
jd.add(sjp2,BorderLayout.SOUTH);
jd.setBounds(400, 250, 300, 100);
jd.setVisible(true);
jd.setResizable(false);
sjb1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
String s=sjtf1.getText();
int x = textEdit.getText().indexOf(s, textEdit.getSelectionEnd());
if (x == -1) {
JOptionPane.showConfirmDialog(null, "沒找到 " + s);
} else {
textEdit.setSelectionStart(x);
textEdit.setSelectionEnd(x + s.length());
}
//jd.dispose();
}
});
sjb2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
String s=sjtf1.getText();
String s1=sjtf2.getText();
int x = textEdit.getText().indexOf(s, textEdit.getSelectionEnd());
if (x == -1) {
JOptionPane.showConfirmDialog(null, "沒找到 " + s);
} else {
textEdit.setSelectionStart(x);
textEdit.setSelectionEnd(x + s.length());
textEdit.replaceSelection(s1);
textEdit.setSelectionStart(textEdit.getSelectionEnd()-s1.length());
textEdit.setSelectionEnd(textEdit.getSelectionEnd());
}
//jd.dispose();
}
});
}