2017-11-27 3 views
0

나는 하나의 큰 주석 텍스트 상자에 주석이 모두 기록되는 시스템에서 작업하고 있습니다. 프론트 엔드에서이 섹션을 더 깔끔하게 보이게하려면이 섹션을 분리해야합니다. 왜냐하면 지금은 끔찍하기 때문입니다.문맥을 기반으로 한 텍스트 영역 출력 섹션을 나누기

그러나 데이터를 가져 와서 자바 스크립트/jquery를 사용하여 분리하는 데 어려움이있는 것 같습니다.

데이터가 이렇게 나오고 매번 이와 같이 형식이 지정됩니다.

"Fri Jan 16 12:36:47 EST 2015 
Entered by username - Persons name 

This is the test comment 

Sat Jan 17 2:16:00 EST 2015 
Entered by username - Persons name 

And this us another comment that could be very long and very redundant because these comments can be like that." 

그래서 나는 너를 3 개의 다른 섹션으로 나눌 필요가있다. 날짜로 입력 한 다음 주석을 입력하십시오.

내가 문자열을 분할하고 시도했습니다,하지만 사랑스러운 것 \n 또는 \s

어떤 도움을 시도 할 경우에도 그 단어 만에 의해 분할 될 것으로 보인다. https://jsfiddle.net/wz5z2dzo/1/

+0

주석이 여러 줄로 구성 될 수 있습니까? 아니면 항상 한 줄의 긴 텍스트에 있습니까? 이유는 내가 이것들을 나눌 무언가가 필요하다는 것입니다. 줄 바꿈이 가장 확실한 방법입니다. – zfrisch

답변

1

따옴표 문자열 (단일 또는 이중)은 리터럴 새 줄을 지원하지 않습니다. 템플릿 리터럴을 사용해보십시오. 특정 토큰으로 분할하는 것이 왜 효과가 없는지 확신 할 수 없습니다.

다음은 해결책입니다. 나는 줄 단위로 나누고 빈 줄을 제거한 다음 3 초마다 반복한다.

const nar = `Fri Jan 16 12:36:47 EST 2015 
 
Entered by username - Persons name 
 

 
This is the test comment 
 

 
Sat Jan 17 2:16:00 EST 2015 
 
Entered by username - Persons name 
 

 
And this us another comment that could be very long and very redundant because these comments can be like that.`; 
 

 
const lines = nar.split("\n").filter(line => line); 
 
const comments = []; 
 

 
for (let i = 0; i < lines.length; i += 3) 
 
    comments.push({ 
 
    date: lines[ i ], 
 
    name: lines[ i + 1 ].split(" - ")[ 1 ], 
 
    comment: lines[ i + 2 ] 
 
    }); 
 

 
console.log(comments);

이 주석이 한 줄 가정합니다. 그들이하는 일은 좀 더 복잡해집니다.

+0

감사합니다. 의견이 매우 길어질 수 있기 때문에 부탁드립니다. – zazvorniki