![](/img/trans.png)
[英]How to deal with operators while tokenizing in Java (StreamTokenizer)
[英]How to escape delimiter while tokenizing string in java
我有一個正則表達式模式,例如"(\\\\d{4},\\\\d{2},\\\\d{2} :\\\\d{2}:\\\\d{2}:\\\\d{2})"
我正在將此模式作為參數傳遞給一個函數,該函數基於","
標記輸入字符串。
例:
func((\\d{4},\\d{2},\\d{2} :\\d{2}:\\d{2}:\\d{2}),func(n))";
標記時如何在正則表達式中轉義逗號?
您能否發布將字符串標記化的函數? 這樣可以對您的代碼有所幫助。
如果沒有此類信息,則可以按如下方式使用split()(如果要執行的所有操作都在“,”上拆分):
String s = "Messages,Hello\,World,Hobbies,Java\,Programming";
System.out.println(Arrays.toString(s.split("(?<!\\\\),")));
請參閱-http: //www.javacreed.com/how-to-split-a-string-with-escaped-delimiters/
您可以將代碼替換為:
String str = "(\\d{4}\\,\\d{2}\\,\\d{2} \\d{2}:\\d{2}:\\d{2}), func(a)";
String[] tokens = str.split("(?<!\\\\),");
System.out.println(Arrays.toString(tokens));
這將為您提供令牌的字符串數組,拆分為“,”
@Derryl Thomas答案可能是正確的答案。 這是另一種技術。
例如:
"(\\\\d{4},\\\\d{2},\\\\d{2} :\\\\d{2}:\\\\d{2}:\\\\d{2})"
"(\\\\d{4}boppity\\\\d{2}boppity\\\\d{2} :\\\\d{2}:\\\\d{2}:\\\\d{2})"
newStringVariable = yourStringVariable.replace("boppity", ",")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.