Я предполагаю, что с учетом:
This is important information... //but this is a comment
This is more important info... //and this is another comment
Вы хотите:
This is important information...
This is more important info...
Примерно так должно работать:
Pattern pattern = Pattern.compile("//.*$", Pattern.DOTALL);
Matcher matcher = pattern.matcher(line);
line = matcher.replaceFirst("");
Pattern
- это то, что Java использует для регулярных выражений. Вот некоторая информация о регулярных выражениях Java в Java. Регулярное выражение, которое я использовал, ищет две косые черты и все после этого до конца строки. Затем сопоставляемый текст заменяется пустой строкой. Pattern.DOTALL
указывает Java обрабатывать ^
и $
как маркеры начала и конца строки.
EDIT
Этот код ниже демонстрирует, как это работает:
import java.util.regex.*;
public class RemoveComments {
public static void main(String[] args){
String[] lines = {"This is important information... //but this is a comment", "This is more important info... //and this is another comment"};
Pattern pattern = Pattern.compile("//.*$", Pattern.DOTALL);
for(String line : lines) {
Matcher matcher = pattern.matcher(line);
System.out.println("Original: " + line);
line = matcher.replaceFirst("");
System.out.println("New: " + line);
}
}
}