Я делаю некоторый анализ исходного кода Java и хочу избавиться от строк, которые содержат только открывающую {
или закрывающую скобку }
.И запишите его обратно в тот же файл.Как мне этого добиться?Приведенный ниже код только проверяет, является ли первый символ скобкой, это может стереть следующий контент после скобки, чего я не хочу.
with open("source_code.txt", 'r') as f:
for line in f:
if not line[0].lstrip() == "{" or not line[0].lstrip() == "}":
# Write it back to the same file i.e. source_code.txt
ВХОД:
/**
* Copy all mappings from given map if they pass validation.
* If a single value fails validation, none of the others will be committed either.
*
* @param map map of keys and values
* @throws ValidationException if an entry in <tt>map</tt> fails validation
*/
public void putAll(Map<K, V> map)
throws ValidationException
{
for (K key: map.keySet()) {
if (mValidators.containsKey(key)) {
for (Validator validator : mValidators.get(key)) {
if (!validator.validate(map.get(key))) {
throw new ValidationException(validator.message());
}
}
}
}
mData.putAll(map);
}
ВЫХОД:
/**
* Copy all mappings from given map if they pass validation.
* If a single value fails validation, none of the others will be committed either.
*
* @param map map of keys and values
* @throws ValidationException if an entry in <tt>map</tt> fails validation
*/
public void putAll(Map<K, V> map)
throws ValidationException
for (K key: map.keySet()) {
if (mValidators.containsKey(key)) {
for (Validator validator : mValidators.get(key)) {
if (!validator.validate(map.get(key))) {
throw new ValidationException(validator.message());
mData.putAll(map);