我想用java从句子中删除注释。
如果注释存在于句首,则可以删除该注释。
例如:
/*comment1*/ sentence /*comment2*/ content /*comment3*/ == sentence /*comment2*/ content /*comment3*/
仅删除第一条注释
使用锚定正则表达式仅匹配第一个注释:
str = str.replaceAll("^\s*/\*.*?\*/\s*", "");
这个正则表达式的关键点是:
^
表示"输入开始".*?
匹配除不情愿的限定符之外的任何内容(因此它并不完全匹配最后一个*/
)
匹配项(如果有的话)会被替换为空白,这会有效地删除它
测试代码:
String str = "/*comment1*/ sentence /*comment2*/ content /*comment3*/ == sentence /*comment2*/ content /*comment3*/";
str = str.replaceAll("^\s*/\*.*?\*/\s*", "");
System.out.println(str);
输出:
sentence /*comment2*/ content /*comment3*/ == sentence /*comment2*/ content /*comment3*/