Perl 인덱스는 검색 값을 건너 뜁니다.

알렉산더 맥 널티

문자열을 가져 오기 위해 perl의 인덱스 함수에 크게 의존하는 프로그램을 작성 중입니다. 내 목표는이 문자열을 공백이없는 일련의 하위 문자열로 나누는 것입니다.

내가 가진 문제는 루프의 후반부에서 인덱스 함수가 ​​공백을 건너 뛰기 시작한다는 것입니다.

테스트 데이터를 사용하고 있습니다.

1 12 a 2 5 PQ

나는 얻을 것으로 기대하고있다 :

1, 12, a, 2, 5, P, Q,

대신 나는 얻는다 :

1, 12, a, 2 5, PQ,

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

use 5.010;
use strict;
use warnings;

my $ivalue = <stdin>;
chomp($ivalue);
$ivalue = $ivalue . " ";
my $current;
my $space = 0;
my $safespace = 0;
my $lastspace = 0;
my $closestspace = 0;
my $i = 0;
# Test data - 1 12 a 2 5 P Q
while ($space != -1){
  $space = index($ivalue, " ", $space + $i++);
  $closestspace = $space - $lastspace;                      
  #print $lastspace . " " . $space . " = " . $closestspace . "; ";
  $current = substr($ivalue, $lastspace, $closestspace);
  #say "substring = " . $current;
  $lastspace = $space + 1;
}

미리 감사드립니다! 누구든지 내가 질문하는 방식이나 일반적으로 내 코드를 개선하는 방법에 대한 제안이 있으면 감사합니다.

크리스 찰리

문제는 다음 줄에 있습니다.

$space = index($ivalue, " ", $space + $i++);

사용하는 대신 $i, 있는지 확인$space + 1

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

자동 루프는 일부 인덱스 배열을 건너 뜁니다.

분류에서Dev

Elasticsearch는 @ -symbol을 건너 뜁니다.

분류에서Dev

PowerShell Invoke-RestMethod는 배열 값을 탐색 할 때 반환 된 null 값을 건너 뜁니다. 아이디어?

분류에서Dev

jquery onscroll은 하드 스크롤시 값을 건너 뜁니다.

분류에서Dev

조건자가있는 CoreData fetchRequest가 NULL 값을 잘못 건너 뜁니다.

분류에서Dev

d3는 원을 추가 할 때 배열의 첫 번째 인덱스를 건너 뜁니다.

분류에서Dev

Laravel 요청 유효성 검사가 배열 값을 건너 뜁니다.

분류에서Dev

StreamReader는 다음 줄을 얻고 빈 줄을 건너 뜁니다.

분류에서Dev

Postgres에서 OR 조건을 사용할 때 쿼리 계획의 인덱스를 건너 뜁니다.

분류에서Dev

Excel은 비어 있거나 값이 0 인 셀을 건너 뜁니다.

분류에서Dev

문이 참인 경우에도 문을 건너 뜁니다.

분류에서Dev

파이프에서 정수 읽기는 C의 값을 건너 뜁니다.

분류에서Dev

SQLSRV는 쿼리를 반환 할 때 행을 건너 뜁니다.

분류에서Dev

때때로 Properties.load ()는 줄을 건너 뜁니다.

분류에서Dev

FactoryMuff는 laravel 모델 콜백을 건너 뜁니다.

분류에서Dev

Java는 코드 줄을 건너 뜁니다.

분류에서Dev

"entirerow.delete"는 For 루프의 항목을 건너 뜁니다.

분류에서Dev

Oledb는 Excel 파일의 첫 번째 열을 건너 뜁니다.

분류에서Dev

Serial.read ()는 직렬 입력을 건너 뜁니다.

분류에서Dev

Logstash는 탄력적 검색에 레코드를 삽입하는 동안 레코드를 건너 뜁니다.

분류에서Dev

JQuery 스피너가 첫 번째 클릭에서 0을 건너 뜁니다.

분류에서Dev

검색 옵션을 사용하는 방법이 있습니까 : 모든 디렉토리이지만 폴더의 첫 번째 레이어를 검색 한 후 다음 폴더로 건너 뜁니다.

분류에서Dev

Ruby on Rails 4 테스트 유닛이 유효성 검사를 건너 뜁니다.

분류에서Dev

C 기능을 건너 뜁니다.

분류에서Dev

타이프 스크립트 함수는 문장을 건너 뜁니다.

분류에서Dev

BufferedReader는 테스트 / 퀴즈에서 질문을 건너 뜁니다.

분류에서Dev

잠금 스크립트는 일부 명령을 건너 뜁니다.

분류에서Dev

dnsConfig는 GKE에서 건너 뜁니다.

분류에서Dev

파일에서 행을 읽고 패턴이 perl에서 일치하면 다음 행으로 건너 뜁니다.

Related 관련 기사

  1. 1

    자동 루프는 일부 인덱스 배열을 건너 뜁니다.

  2. 2

    Elasticsearch는 @ -symbol을 건너 뜁니다.

  3. 3

    PowerShell Invoke-RestMethod는 배열 값을 탐색 할 때 반환 된 null 값을 건너 뜁니다. 아이디어?

  4. 4

    jquery onscroll은 하드 스크롤시 값을 건너 뜁니다.

  5. 5

    조건자가있는 CoreData fetchRequest가 NULL 값을 잘못 건너 뜁니다.

  6. 6

    d3는 원을 추가 할 때 배열의 첫 번째 인덱스를 건너 뜁니다.

  7. 7

    Laravel 요청 유효성 검사가 배열 값을 건너 뜁니다.

  8. 8

    StreamReader는 다음 줄을 얻고 빈 줄을 건너 뜁니다.

  9. 9

    Postgres에서 OR 조건을 사용할 때 쿼리 계획의 인덱스를 건너 뜁니다.

  10. 10

    Excel은 비어 있거나 값이 0 인 셀을 건너 뜁니다.

  11. 11

    문이 참인 경우에도 문을 건너 뜁니다.

  12. 12

    파이프에서 정수 읽기는 C의 값을 건너 뜁니다.

  13. 13

    SQLSRV는 쿼리를 반환 할 때 행을 건너 뜁니다.

  14. 14

    때때로 Properties.load ()는 줄을 건너 뜁니다.

  15. 15

    FactoryMuff는 laravel 모델 콜백을 건너 뜁니다.

  16. 16

    Java는 코드 줄을 건너 뜁니다.

  17. 17

    "entirerow.delete"는 For 루프의 항목을 건너 뜁니다.

  18. 18

    Oledb는 Excel 파일의 첫 번째 열을 건너 뜁니다.

  19. 19

    Serial.read ()는 직렬 입력을 건너 뜁니다.

  20. 20

    Logstash는 탄력적 검색에 레코드를 삽입하는 동안 레코드를 건너 뜁니다.

  21. 21

    JQuery 스피너가 첫 번째 클릭에서 0을 건너 뜁니다.

  22. 22

    검색 옵션을 사용하는 방법이 있습니까 : 모든 디렉토리이지만 폴더의 첫 번째 레이어를 검색 한 후 다음 폴더로 건너 뜁니다.

  23. 23

    Ruby on Rails 4 테스트 유닛이 유효성 검사를 건너 뜁니다.

  24. 24

    C 기능을 건너 뜁니다.

  25. 25

    타이프 스크립트 함수는 문장을 건너 뜁니다.

  26. 26

    BufferedReader는 테스트 / 퀴즈에서 질문을 건너 뜁니다.

  27. 27

    잠금 스크립트는 일부 명령을 건너 뜁니다.

  28. 28

    dnsConfig는 GKE에서 건너 뜁니다.

  29. 29

    파일에서 행을 읽고 패턴이 perl에서 일치하면 다음 행으로 건너 뜁니다.

뜨겁다태그

보관