고정 된 수의 문자를 사용하여 문자열을 배열로 분할

마르 완

저는 현재 매일 책의 일부를 자동으로 트윗하는 작은 앱을 만들고 있습니다.

내 책은 텍스트 파일 안에 있으므로이 텍스트 파일의 내용을 140 자 길이의 문자열 배열로 나누고 싶습니다.

split ()과 같은 함수를 사용하고 싶었지만 지금은 좋은 결과를 얻지 못하고 있습니다.

그건 그렇고, 만들려는 문자열 사이에 특정 구분 기호가 없습니다.

텍스트 파일 내의 문자 수를 세고 한계 (즉, 분할 수)를 정의하여 140 개의 문자열을 가질 수 있다고 생각했지만 더 직관적 인 기능이 있어야한다고 생각합니다.

어떤 생각?

다음은 텍스트 형식으로 책에 연결되는 실제 코드 인 test.txt입니다.

var fs = require('fs');
var array = fs.readFileSync('./test.txt').toString().match("{1,140}");
for(i in array) {
    console.log(array[i]);
}

귀하의 답변 덕분에 새 코드가 있습니다. 콘솔에서 이상한 숫자를 반환합니다.

var fs = require('fs');
var book = fs.readFileSync('./test.txt');
var lastSplit; // position of the last split that you will cache
var limit   = book.length > 140 ? 140 : book.length - lastSplit;
var urlsToAdd = book.slice(lastSplit, lastSplit + limit);
for(i in book) {
    console.log(book[i]);
}

감사합니다

AhmadAssaf

각각 140 개의 문자로 구성된 n 개의 분할에서 한 번에 전체 책을 분할하는 대신 수행 할 수있는 것은 이전에 수행 된 총 분할 수인 마지막 분할의 마지막 위치를 기억하는 것입니다.

var lastSplit; // position of the last split that you will cache
var limit   = book.length - lastSplit > 140 ? 140 : book.length - lastSplit;
var urlsToAdd = book.slice(lastSplit, lastSplit + limit);
  • 그래서 lastSplit윌은 마지막 스플릿의 위치를 ​​유지하고 또한 얼마나 많은 캐릭터가 트윗되었는지를 나타냅니다.
  • 이제 책의 글자 길이를 초과하지 않도록 트윗 할 글자 수를 확인해야합니다.
  • 마지막으로 알려진 위치에서 원하는 문자 수 lastSplit + 140또는 끝에 가까운 경우 책 길이로 분할 합니다.

물론이 논리는 매우 더미입니다. 즉, 단어 또는 문장의 중간에있는 문자를 중지해도 상관 없습니다.

업데이트 : 내가 제공 한 코드는 일반적인 사고 과정이며 반드시 복사 / 붙여 넣기가 아닙니다. 그러나 붙여 넣은 코드에서 다음을 시도 할 수 있습니다.

var fs = require('fs');
var book = fs.readFileSync('./test.txt');
var lastSplit = 0;

function tweet(book) {
var limit   = book.length - lastSplit > 140 ? 140 : book.length - lastSplit;
var tweet   = book.slice(lastSplit, lastSplit + limit);
lastSplit += limit;
return tweet;
}

while (lastSplit < book.length) {
 console.log(tweet(book));
}

업데이트 II : 더미 책을 사용한 작업 코드 (작동 함을 확신시키기 위해!)

function tweet(book) {
	var  lastSplit = 0;
	while (lastSplit < book.length) {
		var limit   = book.length - lastSplit > 140 ? 140 : book.length - lastSplit;
		var tweet   = book.slice(lastSplit, lastSplit + limit);
		lastSplit += limit;
		$('body').append('<p>' + tweet + '</p>');
	}
}

// this will generate a dummy string containing numbers from 0-800
tweet(Array.apply(null, {length: 800}).map(Number.call, Number).join(''));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

고정 된 수의 문자를 사용하여 문자열을 배열로 분할

분류에서Dev

정의 된 구분 기호를 사용하여 문자열 배열을 문자열로 변환

분류에서Dev

VBA를 사용하여 설정된 문자 수에 따라 문자열 분할

분류에서Dev

정수를 구분 기호로 사용하여 문자열을 배열로 분할

분류에서Dev

사전 정의 된 문자를 사용하여 문자열 분리

분류에서Dev

Newtonsoft 사용자 정의 Json 변환기 문자열 배열을 쉼표로 구분 된 문자열 WebApi 2

분류에서Dev

c # 다른 문자열을 구분 기호로 사용하여 문자열을 분할하고 구분 기호를 분할 된 문자열의 일부로 포함

분류에서Dev

Java : 정규식을 사용하여 문자열을 문자 배열로 분할

분류에서Dev

배열의 문자열을 분할하고 맵으로 변환

분류에서Dev

\ n을 사용하여 문자 배열에서 생성 된 문자열을 분할 할 수 없습니다.

분류에서Dev

팬더 열을 문자열과 정수를 사용하여 두 개의 열로 분할하는 방법

분류에서Dev

공백으로 구분 된 숫자를 포함하는 문자열을 정수 배열로 변환

분류에서Dev

Integer.parseInt ()를 사용하여 문자열 배열을 정수 배열로 변환 할 수 없습니다.

분류에서Dev

문자열을 분할하고 특정 문자열을 배열로 추출

분류에서Dev

배열에서 미리 정의 된 값을 기반으로 문자열을 분할하는 방법

분류에서Dev

정규식을 사용하여 키 값의 문자열 분할

분류에서Dev

int를 사용하여 문자열을 구문 분석하고 배열로 float

분류에서Dev

string. Linq 쿼리를 결합하여 배열에서 두 개의 문자열을 병합하고 단일 쉼표로 구분 된 문자열로 출력

분류에서Dev

php preg_split을 사용하여 문자열을 분할하고 사용 된 구분 기호의 일부를 유지하는 방법은 무엇입니까?

분류에서Dev

어떻게 사용자 문자열을 분할하고, 분할 크기 지정된 열 및 행을 정렬 할 수 있습니다?

분류에서Dev

두 개의 열을 사용하여 고유하게 분할 (문자 변수)

분류에서Dev

지정된 이름 및 형식을 사용하여 문자 열을 여러 열로 분할 / 분리

분류에서Dev

여러 구분 기호로 정의 된 문자열 부분을 R에서 여러 변수로 분할

분류에서Dev

고정 된 문자가 거의없는 문자열에서 부분 문자열을 검색하고 문자를 나머지

분류에서Dev

Java : 문자열 길이별로 정렬 된 문자열 배열을 문자열 길이별로 여러 배열로 분할

분류에서Dev

변수 대체를 사용하여 구분 된 문자열 분할

분류에서Dev

PHP : 두 개의 문자열을 분해하고 정렬 된 배열로 합치기

분류에서Dev

PHP에서 정규식을 사용하여 문자열을 배열로 분할

분류에서Dev

열에서 반환 된 문자열을 정수로 분할

Related 관련 기사

  1. 1

    고정 된 수의 문자를 사용하여 문자열을 배열로 분할

  2. 2

    정의 된 구분 기호를 사용하여 문자열 배열을 문자열로 변환

  3. 3

    VBA를 사용하여 설정된 문자 수에 따라 문자열 분할

  4. 4

    정수를 구분 기호로 사용하여 문자열을 배열로 분할

  5. 5

    사전 정의 된 문자를 사용하여 문자열 분리

  6. 6

    Newtonsoft 사용자 정의 Json 변환기 문자열 배열을 쉼표로 구분 된 문자열 WebApi 2

  7. 7

    c # 다른 문자열을 구분 기호로 사용하여 문자열을 분할하고 구분 기호를 분할 된 문자열의 일부로 포함

  8. 8

    Java : 정규식을 사용하여 문자열을 문자 배열로 분할

  9. 9

    배열의 문자열을 분할하고 맵으로 변환

  10. 10

    \ n을 사용하여 문자 배열에서 생성 된 문자열을 분할 할 수 없습니다.

  11. 11

    팬더 열을 문자열과 정수를 사용하여 두 개의 열로 분할하는 방법

  12. 12

    공백으로 구분 된 숫자를 포함하는 문자열을 정수 배열로 변환

  13. 13

    Integer.parseInt ()를 사용하여 문자열 배열을 정수 배열로 변환 할 수 없습니다.

  14. 14

    문자열을 분할하고 특정 문자열을 배열로 추출

  15. 15

    배열에서 미리 정의 된 값을 기반으로 문자열을 분할하는 방법

  16. 16

    정규식을 사용하여 키 값의 문자열 분할

  17. 17

    int를 사용하여 문자열을 구문 분석하고 배열로 float

  18. 18

    string. Linq 쿼리를 결합하여 배열에서 두 개의 문자열을 병합하고 단일 쉼표로 구분 된 문자열로 출력

  19. 19

    php preg_split을 사용하여 문자열을 분할하고 사용 된 구분 기호의 일부를 유지하는 방법은 무엇입니까?

  20. 20

    어떻게 사용자 문자열을 분할하고, 분할 크기 지정된 열 및 행을 정렬 할 수 있습니다?

  21. 21

    두 개의 열을 사용하여 고유하게 분할 (문자 변수)

  22. 22

    지정된 이름 및 형식을 사용하여 문자 열을 여러 열로 분할 / 분리

  23. 23

    여러 구분 기호로 정의 된 문자열 부분을 R에서 여러 변수로 분할

  24. 24

    고정 된 문자가 거의없는 문자열에서 부분 문자열을 검색하고 문자를 나머지

  25. 25

    Java : 문자열 길이별로 정렬 된 문자열 배열을 문자열 길이별로 여러 배열로 분할

  26. 26

    변수 대체를 사용하여 구분 된 문자열 분할

  27. 27

    PHP : 두 개의 문자열을 분해하고 정렬 된 배열로 합치기

  28. 28

    PHP에서 정규식을 사용하여 문자열을 배열로 분할

  29. 29

    열에서 반환 된 문자열을 정수로 분할

뜨겁다태그

보관