![](/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.