[英]regex command(remove everything but specified txt)
是否有人知道一個正則表達式命令,該命令將使用以下字符串
url = http://184.154.145.114:8013/wlraac name = wlr samplerate = 44100 channels = 2 format = S16le
並刪除除以下內容外的所有內容
wlr
該行將出現多次,其中所有內容都在=符號后更改,而每次我要保留的內容都是name =之后的內容
任何幫助表示贊賞
你可以做類似的事情
.*name =\s*(\w+).*
並替換為第1組的內容
我搜索“名稱=“及其他任何內容。 \\s*
與以下空格匹配。
然后是\\w+
放在方括號中。 \\w
將匹配任何字符,數字和下划線(如果您使用選項Pattern.UNICODE_CHARACTER_CLASS
否則將僅堅持ASCII)。 由於括號,它存儲在第一組中。
String in = " url = http://184.154.145.114:8013/wlraac name = wlr samplerate = 44100 channels = 2 format = S16le";
Pattern r = Pattern.compile(".*name =\\s*(\\w+).*");
Matcher m = r.matcher(in);
String result = m.replaceAll("$1");
System.out.println(result);
還是你的代碼
String str = line2.replaceAll(".*name =\\S*(\\W).*", "$1");
從您的描述中很難理解您的需求。 但是正則表達式是多余的。 您應該像這樣使用smth:
String s = myString.substring(myString.indexOf("name =")+6);
我建議您提取 =
之后出現的單詞,即
Pattern p = Pattern.compile("=\\s*(\\S+)");
Matcher m = p.matcher(str);
if (m.find()) {
String value = m.group(1); // contains your wlr
...............
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.