想法由来:
之前写读书报告时,遇到一些烦人的文献,总喜欢把注释作为括号内容放到正文中,使文章繁琐冗长,所以写了下面这个代码,剔除了括号内的内容。
适用条件:
原txt文本中的括号使用正确,即左右括号匹配正确,且对应的一对左右括号之间不能换行。
主要思想:
以段落作为处理对象,找到第一个左括号的位置后,定义一个计数器count赋初值为1,然后遍历该左括号之后的字符,若遇到左括号则count加1,若遇到右括号则count减1。当count的值为0时,说明左右括号匹配正确,已经找到了与第一个左括号对应的右括号,此时就将这两个括号之间的内容以及括号替换成“”(空内容),然后再找寻该段落中的下一个左括号,并将count的值置为1,循环执行上述过程,将所有括号内内容删去。
源代码:
import java.io.*;
import java.util.*;
public class FileReader {
public static String replace(String str) //识别括号并将括号内容替换的函数
{
int head = str.indexOf('('); //标记第一个使用左括号的位置
if(head==-1); //如果str中不存在括号,什么也不做,直接跑到函数底端返回初值str
else{
int next=head+1; //从head+