2014-06-15 3 views
-5

정규식을 사용하여 각 단락을 추출하고 유사한 단락이 많이 포함 된 텍스트 버퍼에서 추가 처리를위한 문자열로 저장해야합니다.단락을 추출하는 정규식

예 : 말은, 텍스트 버퍼는 다음과 같이이다 :

=== Jun 11 14:05:39 - Person Details === 

Person Name = "Hurlman" 

Person Address = "2nd Street Benjamin Blvd NJ" 

Persion Age = 25 

=== Jun 11 14:05:39 - Person Details === 

Person Name = "Greg" 

Person Address = "3rd Street Benjamin Blvd NJ" 

Persion Age = 26 


=== Jun 11 14:05:42 - Person Details === 

Person Name = "Michel" 

Person Address = "4th Street Benjamin Blvd NJ" 

Persion Age = 27 

And I need to iterate through all the paragraphs and store each one of them to further find the specific person details inside. 

Each paragraph I need to extract should be of the below format 

=== Jun 11 14:05:42 - Person Details === 

Person Name = "Michel" 

Person Address = "4th Street Benjamin Blvd NJ" 

Persion Age = 27 

어떤 도움이 많이 감사합니다!

+3

은행 계좌 정보를 입력하십시오이 패턴을 사용할 수 있습니다. – zx81

+0

죄송합니다.이 말은 다른 방법입니다. 귀하가 시도한 것을 보여줄 수 있습니까? – zx81

+0

그래서 각 단락마다 새로운 (다른) 문자열을 만들고 싶습니까? – hwnd

답변

0

당신은 우리가이 코드를 쓸 수있는 기회를 당신에게 돈을 보낼 위치를 알 수 있도록 (===.*===[\s\S]*?)(?====|$)
Demo

+0

고마워요. 그것은 내가 원했던 거의 작동합니다. – user3741466

0

정규 표현식을 사용하여이 문제를 해결할 수는 있지만 가난하고 (비효율적이며 이해하기 어렵고 유지 관리가 어렵다.) 해결책이 될 수 있습니다.

가지고 계신 것은 비공식적 인 레코드 구조로 텍스트 줄을 사용하여 표현한 것입니다. (자연어 텍스트가 아니므로 "단락"으로 설명하십시오.)

처리 방법은 한 번에 한 줄씩 읽은 다음 Scanner (또는 동급)을 사용하는 것입니다. 각 행을 이름 값 쌍으로 구문 분석합니다. 레코드 경계를 감지하고 입력 스트림의 올바른 위치에 나타나는지 확인하는 간단한 논리가 필요합니다.

+0

나에게 입력 된 정보는 각각 특정 정보 단위를 나타내는 단락 일 것이므로 단락으로 추출한 다음 해당 단락을 조작하기 위해 패턴 또는 스캐너 클래스를 적용해야합니다. 답장을 보내 주셔서 감사합니다. – user3741466

관련 문제