正則表達式替換java
A. java:請按如下要求利用正則表達式替換字元串,謝謝
你可以利用
int start = "xxx[0001112]ss".indexOf('[') + 1;
int end = "xxx[0001112]sss".indexOf(']');
String s="xxx[0001112]sss".substring(start, end);
然在做轉換成
char[] c = "xxx[0001112]sss".toCharArray();
做添加就好了版權
再轉回String
B. Java 正則表達式 替換字元串中人名
public static void main(String[] args) {
System.out.println("請輸入姓名:");
Scanner in=new Scanner(System.in);
String input=in.nextLine();
//保留姓氏
char str2=input.charAt(0);
//截取名字
String str1=input.substring(1);
//用正則表達式替換(包括漢字,數字,大小寫字母)
str1=str1.replaceAll("[^x00-xff]|\w", "x");
//輸出替換後的名字
System.out.println(str2+str1);
}
C. JAVA 替換特殊字元 的 正則表達式
JAVA替換特殊字元的正則表達式
代碼如下:
importjava.util.regex.*;
//表達式對象
Patternp=Pattern.compile("[\'\*\~]");
//創建Matcher對象
Matcherm=p.matcher("Stringstr="t'e*s~t";");
//替換
Stringnewstring=m.replaceAll("[$0]");
效果如下:
正則參考http://zh.wikipedia.org/wiki/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F
D. java想替換字元,正則表達式該怎麼寫
/**
* 在String對象上添加trim方法
*/
function String.prototype.trim()
{
return this.replace(/(^\s*)|(\s*$)/g,"");
}
E. java正則表達式替換url字元
這是我原來寫的,你可以根據需要修改一下要替換的字元
///<summary>
///替換url中的非法字元
///</summary>
///<paramname="strRequest"></param>
///<returns></returns>
(stringstrRequest)
{
string[]arrStr=newstring[]{"&",";","$","%","@","'",""","<",">","\(","\)","\+","CR"
,"LF",",","\.","script","document","eval"};
foreach(stringstrQutoinarrStr)
{
strRequest=Regex.Replace(strRequest,strQuto,"",RegexOptions.IgnoreCase);
}
returnstrRequest;
}
F. java正則表達式怎麼定義只替換中間的字元
可以使用分組來完成,替換字元串中使用$1、$2、$3……可以獲取對應組的匹配結果。如果前後的字元串是固定的那更簡單,直接在替換的時候寫上就好了。
因為String的replaceAll就是使用的正則表達式所以示例直接使用的String的替換,Pattern的替換同理。
publicclassDemo{
publicstaticvoidmain(String[]args){
Stringstr="aa文字1bb哈哈cc測試dx,測試字元串aa1234bb";
//替換aa、bb之間的字元串為"成功"
Stringstr1=str.replaceAll("aa.*?bb","aa成功bb");
System.out.println(str1);
//替換aa、bb之間的字元串為"成功"
Stringstr2=str.replaceAll("(aa).*?(bb)","$1成功$2");
System.out.println(str2);
//替換小寫字母之間的字元串為"成功"
Stringstr3=str.replaceAll("([a-z]+).*?([a-z]+)","$1成功$2");
System.out.println(str3);
}
}
G. JAVA正則表達式替換正文關鍵字
^"\b"+cau.getKeywords()+"\b(?=[^<>]*<)"
你把「轉義了,來你的源正則就變成字元串\b\"+cau.getKeywords()+\"\b(?=[^<>]*<),也就是說cau.getKeywords()成了字元串的一部分,根本不是代碼了。你可以試試我上面改的
H. java 將"\"替換為"/"的正則表達式是什麼比如我要將"E:\\Media\\" 替換為E:/Media/,
例如:
String s="E:\\Media\\";//現實路徑是E:\Media\
//replace(regex,s);
String str=s.replaceAll("\\\\","/");
第一個參數是正則表達式
如果你想表示符號\(反斜杠) 你需要用字元串"\\"因為轉義字元的關系
如果你想表示符號\(反斜杠) 你需要用正則表達式"\\\\"因為轉義字元的關系
並且正則表達式中的"\"有專門的功能,如"\d"表示數字。
I. java正則表達式怎麼一個個替換匹配的內容
Stringa="我是f_static_000的f_static_001aaaf_static_001";
//正則根據自己需要修改,replaceAll可以使用正則的捕獲組功能,$n引用第n個捕獲組
/**
replaceAll(regExp,replacement);第一個參數是正則字元串,第二個是替換內容
正則裡面有捕獲(正則裡面用小括弧捕獲)和引用的功能
*/
a=a.replaceAll("(f_static_\d+)","#[face/png/$1.png]#");
J. JAVA正則表達式替換字元串問題
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
publicclassTestRegex
{
publicstaticvoidmain(String[]args)
{
Stringregex="第[0-9]*條";
Stringstr="第9條,數據錯誤,錯誤信息,第jjj哦條哦條我的條件如何?第221條xx";
Patternpat=Pattern.compile(regex);
Matchermatcher=pat.matcher(str);
while(matcher.find()){
Stringtemp=str.substring(matcher.start(),matcher.end());
str=str.replaceAll(temp,temp.substring(0,temp.lastIndexOf("條"))+"行");
}
System.out.println(str);
}
}