A. java中如何去掉字元串前面的0
一共有三種方法,具體操作步驟如下;
方式一:
例如:」0000123」 (字元串必須全為數字) ,處理過程:
Java是一門面向對象編程語言,Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程。
Java具有簡單性、面向對象、分布式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點 。Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等。
B. java如何實現替換指定位置的指定字元串的功能
可以使用StringBuffer定義字元串,之後使用replace方法替換指定位置的字元串為指定的字元串內容,如下代碼:
public
class
Demo1
{
public
static
void
main(String[]
args)
{
StringBuffer
buffer
=
new
StringBuffer("123456");
System.out.println(buffer.toString());//輸出123456
buffer.replace(0,
1,
"a");
System.out.println(buffer.toString());//輸出a23456
}
}
這里簡單介紹一下replace方法的使用,replace方法一共有三個參數,第一個參數是指定要替換的字元串的開始位置,第二個參數是指定要替換的字元串的結束位置(注意這里的結束位置不包括本身),第三個參數是指定想將字元串替換成什麼內容。
如:原字元串內容為"123456",現在調用replace(0,
2,
"abc"),原字元串變為"abc3456"
C. Java 字元串替換
importjava.util.regex.*;
publicclassRepTest{
publicstaticvoidmain(String[]args){
Stringsrc=">=,<=,=,>=,<=,=,>=,<=,=,>=,<=,=,>=,<=,=,>=,<=,=,";
System.out.println("原串:"+src);
Matcherma=Pattern.compile("[^><]=").matcher(src);
while(ma.find()){
src=src.replaceAll(ma.group(),"");
}
System.out.println("替換:"+src);
//其實還有一個思路,你可以拿逗號切成數組版,然後對權數組元素進行判斷,拿=號切也可以!
}
}
D. java中怎麼替換string中的某個字元
/¥392931String這個對於程序原來說一定是最熟悉不過的,很多時候我們都習慣去使用String的原生方法去完成查找字元串、替換、刪除,而正則表達式由於略顯苦澀的語法常常被人忽略,其實很多時候使用正則表達式可以提高不少性能和節省資源。
一、正則表達式簡述
正則表達式正則表達是Java中比較矛盾的知識點,因為使用起來可以很簡單也可以相當地有難度,但是對於字元串操作來說應用得當則事半功倍,字元串查找,搜索,匹配,替換等等,正則表達式無所不能。而所謂正則表達式本質就是一個字元串(這個字元串按照一定的語法和規范被構造出來作為限定條件),其主要參與者——Pattern和Matcher:Pattern是Java正則表達式API中的主要入口,是程序語言中對這個特殊正則字元串的編譯表示,需要使用正則表達式,第一步都是從構造Pattern 類開始,而Matcher是輸入字元串進行解釋和匹配操作的引擎,通過解釋 Pattern 對 Character sequence 執行匹配操作(即Matcher負責完成字元串的查找、匹配、替換等操作。)
二、正則表達式基本語法
1、預留字元
限定符
說明
. 任意英文字母
反斜杠, 單獨的反斜杠做為轉義字元,與其他特殊字元一起使用。如果想匹配反斜杠本身,需要轉義。兩個反斜杠實際匹配一個反斜杠n字元的8進製表示.n 在0至7之間取值
nn 字元的8進製表示.n 在0至7之間取值
mnn 字元的8進製表示. m 在0至3之間取值, n 在0至7之間取值
xhh 字元的16進製表示.
uhhhh 字元的16進製表示 0xhhhh. 對應unicode 編碼字元
縮進符.
換行符 (unicode: 『u000A』)
回車符 (unicode: 『u000D』)
f 製表符 (unicode: 『u000C』)
a 警報(鈴聲)字元 (unicode: 『u0007′)
e 轉義符 (unicode: 『u001B』)
cx 控制符 x
d 匹配任意數字 [0-9]
D 匹配任意非數字 [^0-9]
s 匹配任意空白符 (空格, 縮進, 換行,回車)
S 匹配任意非空白符
w 匹配任意單詞
W 匹配任意非單詞
2、設置指定限定條件[](即「[]」表示的是中括符里的內容是條件)
限定符
說明
[a-z] 匹配小寫a to z范圍中任一個字元,又如[abc] 匹配 a, 或 b 或 c
[A-Z] 匹配大寫A to Z范圍中任一個字元
[a-zA-Z] 匹配小寫a to z或大寫A to Z范圍中一個字元
[0-9] 匹配小寫0 to 9范圍中一個字元
[0-9a-z] 匹配小寫0 to 9或a to z范圍中一個字元
[0-9[a-z]] 匹配小寫0 to 9或a to z范圍中一個字元(交集)
[^abc] 匹配不是a,b,c 的字元,是否定匹配
[a-zA-Z] 匹配a 到 z ,A到Z 直接的字元,是范圍匹配
[a-d[m-p]] 匹配a到d之間字元或 m到p之間字元,是並集匹配
[a-z&&[def]] 匹配 d, e, 或 f. 是交集匹配 (這里是在范圍 a-z和字元def之間取交集).
[a-z&&[^bc]] 匹配a-z 之間所有字元,排除bc的字元。是減法匹配
[a-z&&[^m-p]] 匹配a-z 之間所有字元,排除m-p之間的字元是減法匹配
3、邊界匹配
邊界符
說明
^ 匹配行首
$ 匹配行尾
匹配單詞邊界
B 匹配非單詞邊界
A 匹配文本開頭
G 匹配前一匹配項結尾
輸入的結尾,僅用於最後的結束符(如果有的話)
z 匹配文本結尾
4、邏輯操作符和量詞表示
正則表達式支持少量的邏輯運算(與,或)。與操作是默認的,表達式 cmo,意味著c 與 m與o。
或操作需要顯示指定,用 | 表示。例如表達式 crazy|mo意味著crazy或 mo。
貪婪模式
飢餓模式
獨占模式
說明
X? X?? X?+ 匹配0或1次,即出現X 0或者1次
X* X**? X*+ 匹配0或多次
X+ X+? X++ 匹配1或多次
X{n} X{n}? X{n}+ 匹配n次
X{n,} X{n,}? X{n,}+ 匹配最少n次
X{n, m} X{n, m}? X{n, m}+ 匹配最少n次,最多m次
三、正則表達式的應用
編譯正則表達式的字元串值構造對應的模式Pattern對象
創建匹配給定輸入與此模式的匹配器Matcher
通過匹配器對象執行操作,匹配器對象的方法很豐富,互相組合使用更加強大(JDK在線API)
1、去掉字元串中的空格和換行符
public static String getNonBlankStr(String str) {
if(str!=null && !"".equals(str)) {
Pattern pattern = Pattern.compile("\s*| | | "); //去掉空格符合換行符
Matcher matcher = pattern.matcher(str);
String result = matcher.replaceAll("");
return result;
}else {
return str;
}
} 12345678910
2、去掉指定特殊字元
public static String StringFilter(String str) throws PatternSyntaxException { // String regEx = "[^a-zA-Z0-9]"; // 只允許字母和數字
// 清除掉所有特殊字元(除了~之外)
String regEx="[`!@#$%^&*()+=|{}':;',//[//].<>/?!@#¥%……&*()——+|{}【】『;:」「』。,、?]";
Pattern pattern = Pattern.compile(regEx);
Matcher matcher = pattern.matcher(str); return matcher.replaceAll("").trim();
}123456789
3、Pattern.matches()檢查字元串中是否存在指定字元
String text = "there are many hotels " +"by amap.the adrr: http://xxxx pattern.";String pattern = ".*http://.*";
boolean matches = Pattern.matches(pattern, text);//true則存在123
4、Pattern.split()用正則表達式作為分隔符,把文本分割為String類型的數組
/**
* 結果:element = grjk Text
element = wwwdsf
element = Many
element = egsdg r geg
*/String text = "A reg grjk Text reg wwwdsf reg Many reg egsdg r geg";
String patternString = "reg";
Pattern pattern = Pattern.compile(patternString);
String[] split = pattern.split(text);for(String element : split){
System.out.println("element = " + element);
}1234567891011121314
5、Matcher 實例的find() + start() + end()尋找字元串中指定字元串出現的次數和起始和結束的索引位置
/**
*結果:found: 1 : 2 - 4
found: 2 : 5 - 7
found: 3 : 23 - 25
found: 4 : 70 - 72
*/String text ="This is the text which is to be searched " +"for occurrences of the word 'is'.";
String patternString = "is";
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(text);int count = 0;while(matcher.find()) {
count++;
System.out.println("found: " + count + " : " + matcher.start() + " - " + matcher.end());
}12345678910111213141516
6、Matcher 匹配指定格式的特殊字元串
Pattern pattern = Pattern.compile("[0-9]*");//判斷是否都是數字
Matcher isNum = pattern.matcher("1123是數字");
if(isNum.matches()) {
System.out.println("全部是數字");
} else {
System.out.println("有漢字");
}
E. Java替換特殊字元的方法是什麼 做好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知識,那麼可以點擊本站的其他文章進行學習。
F. 請問java怎樣使用replace()方法替換某字元串中的"."(點號)
我告訴你!直接使用replace()這個方法就行了!
replace是不帶正則表達式的全部字版符串替換權,replaceAll是帶正則表達式的全部字元串替換,並不是它們的英文直觀的意思!
詳細說明:
java字元串的替換replace、replaceAll、replaceFirst的區別詳解網頁鏈接
G. java怎樣將一個字元串中指定位置的字元換掉,從而得到一個新的字元串
java字元串替換 一般使用substring() 和replace()方法組合鏈族敬使用達到精確替換的目的.
str.substring(0,1) 可以截取str字元串第一位字棚慎符.通過下標控制截取長度.可獲得精確字元串
str.replace("a","穗燃b"); 把str字元串中所有的字元a都替換成字元b
H. java中怎麼進行字元串替換
replace方法
該方法的作用是替換字元串中所有指定的字元,然後生成一個新的字元串。經過該方法調用以後,原來的字元串不發生改變。例如:
String s = 「abcat」;
String s1 = s.replace(『a』,『1』);
該代碼的作用是將字元串s中所有的字元a替換成字元1,生成的新字元串s1的值是「1bc1t」,而字元串s的內容不發生改變。
如果需要將字元串中某個指定的字元串替換為其它字元串,則可以使用replaceAll方法,例如:
String s = 「abatbac」;
String s1 = s.replaceAll(「ba」,「12」);
該代碼的作用是將字元串s中所有的字元串「ab」替換為「12」,生成新的字元串「a12t12c」,而字元串s的內容也不發生改變。
如果只需要替換第一個出現的指定字元串時,可以使用replaceFirst方法,例如:
String s = 「abatbac」;
String s1 = s. replaceFirst (「ba」,「12」);
該代碼的作用是只將字元串s中第一次出現的字元串「ab」替換為字元串「12」,則字元串s1的值是「a12tbac」
I. java中怎樣替換字元串中的值
我估計樓主是不是困在了String的replace和replaceAll方法上面了。replace並不是只替換第一個匹配的字元串而repalaceAll是匹配所有。它兩其實都是找到所有的匹配項然後替換,不同的地方是:replace是匹配字元,而replaceAll是匹配正則表達式。所以這兩種方法都可以:replace("\\","/")或者repaceAll("\\\\","/")。replaceAll要加四個反斜杠,是因為,首先在java裡面「\」是轉義符,所以你要寫兩個,正則裡面他也是專業符,你又要再加一個,所以最後是四個