항목을 제거하는 방법에는 하위 문자열이 포함되어 있지만 다른 하위 문자열은 포함되지 않습니다.

QSY

Book_position1_positon2_position3 구조의 파일이 있습니다.

Book_unknow_unknow_unknow

Book_unknow_1_2

Book_unknow_unknow_2

Book_unknow_1_unknow

Book_EU_1_2

위치 2와 위치 3에 알 수없는 항목이 하나 이상있는 모든 항목을 제거하고 위치 1에 알 수없는 항목을 유지하고 싶습니다.

따라서 필터링 된 결과는 다음과 같아야합니다.

Book_unknow_1_2

Book_EU_1_2

내 코드는 다음과 같습니다.

 Iterator<Map.Entry<String, Book>> iter = books.entrySet().iterator();
 while (iter.hasNext()) {
        Map.Entry<String, Book> entry = iter.next();
        if(entry.getKey().contains("_UNKNOW")) {
            iter.remove();
        }
    }

안타깝게도이 코드는 모든 '알 수없는'항목을 제거합니다. Book_unknow_1_2를 그대로 유지하는 방법은 무엇입니까?

Usagi Miyamoto

다음과 같이 시도하십시오.

Iterator<Map.Entry<String, Book>> iter = books.entrySet().iterator();
while (iter.hasNext())
{
    Map.Entry<String, Book> entry = iter.next();
    if ( entry.getKey().matches("(.+_){2,}unknown.*") )
    {
        iter.remove();
    }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관