java如何在apache POI HSSF的循环中只匹配一次ads字符串
我有一个电子表格,里面有很多这样的行
SomeText1 SomeText2 SomeText3
Tommy Tommy John
Gilaen Tamara Shaz
Tamara Phil Tamara
我想筛选包含“Tamara”的行,这样我应该得到的行将是
SomeText1 SomeText2 SomeText3
Gilaen Tamara Shaz
Tamara Phil Tamara
为了做到这一点,我使用以下代码
Map<String,String> mapEndoscBarr= new LinkedHashMap<String,String>();
FileInputStream fis = new FileInputStream(new File(filepath));
HSSFWorkbook workBook = new HSSFWorkbook (fis);
HSSFSheet sheet = workBook.getSheetAt (0);
List<HSSFRow> filteredRows = new ArrayList<HSSFRow>();
//Filter by pathology from what I am given
Iterator<Row> rows= sheet.rowIterator();
while (rows.hasNext ()){
HSSFRow row = (HSSFRow) rows.next ();
Iterator<Cell> cells = row.cellIterator ();
while (cells.hasNext ()){
HSSFCell cell = (HSSFCell) cells.next ();
if (cell.toString().contains("Tamara")) {
filteredRows.add(row);
}
}
}
但是,每次找到匹配项时,循环都会添加该行,这样我就会得到重复的行,如下所示:
SomeText1 SomeText2 SomeText3
Gilaen Tamara Shaz
Tamara Phil Tamara
Tamara Phil Tamara
如果塔玛拉在场的话,我怎么能只强制一个匹配,这样我就不会得到这个重复的匹配
共 (0) 个答案