gpt4 book ai didi

java - 从字符串中删除注释

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:28:00 24 4
gpt4 key购买 nike

我想做一个获取字符串的函数,如果它有内联注释,它会删除它。

public class sample {

public static void main(String[] args) {
String code = "/**THIS IS SAMPLE CODE */ public class TestFormatter{public static void main(String[] args){int i =2; String s= \"name\";\\u give give change the values System.out.println(\"Hello World\");//sample}}";

CodeFormatter codeFormatter = ToolFactory.createCodeFormatter(null);

TextEdit textEdit = codeFormatter.format(
CodeFormatter.K_COMPILATION_UNIT, code1, 0, code1.length(), 0,
null);
IDocument doc = new Document(code1);
try {
textEdit.apply(doc);
System.out.println(doc.get());
} catch (MalformedTreeException e) {
e.printStackTrace();
} catch (BadLocationException e) {
e.printStackTrace();
}
}
}

我在 textEdit.apply(doc) 处遇到空指针异常。这是因为它不接受评论。

你能告诉我从字符串中删除注释的最佳方法是什么吗? (请不要建议太高级的解决方案)。

最佳答案

replaceAll("((/\\*)[^/]+(\\*/))|(//.*)", "")

这将删除单行、多行或文档注释。

JavaScript 兼容的正则表达式是 ((/\*)[^/]+(\*/))|(//.*),您可以在 regexpal.com 上尝试。

关于java - 从字符串中删除注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18886644/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com