LUA를 사용하여 테이블 내에 테이블을 만들고 문제가 발생합니다. 표시되는 NIL 값도 채워야하지만 제대로 표시되지는 않습니다.빈 하위 문자열이있는 구분 기호를 기반으로 문자열을 하위 문자열로 분리
문자열을 조작되고 :
PatID = '07-26-27~L73F11341687Per^^^SCI^SP~N7N558300000Acc^'
for word in PatID:gmatch("[^\~w]+") do table.insert(PatIDTable,word) end
local _, PatIDCount = string.gsub(PatID,"~","")
PatIDTableB = {}
for i=1, PatIDCount+1 do
PatIDTableB[i] = {}
end
for j=1, #PatIDTable do
for word in PatIDTable[j]:gmatch("[^\^]+") do
table.insert(PatIDTableB[j], word)
end
end
이 현재이 출력이 생성
table
[1]=table
[1]='07-26-27'
[2]=table
[1]='L73F11341687Per'
[2]='SCI'
[3]='SP'
[3]=table
[1]='N7N558300000Acc'
을하지만 그것을 생산해야합니다
table
[1]=table
[1]='07-26-27'
[2]=table
[1]='L73F11341687Per'
[2]=''
[3]=''
[4]='SCI'
[5]='SP'
[3]=table
[1]='N7N558300000Acc'
[2]=''
편집 : 나는 내가 가지고있는 것 같아요 내가 무엇을 찾고 있는지 설명하는 나쁜 일을했다. 반드시 캐럿을 "NIL"또는 "비어있는"것으로 간주 할 필요는 없지만 오히려 새로운 캐릭터 라인을 시작한다는 의미입니다.
더 나은 설명이 부족하여 위치 식별자가 부족합니다. 내가
L73F11341687Per^12ABC^^SCI^SP
을 가지고 있다면 그런 위치가
1. L73F11341687Per
2.
3.
4. SCI
5. SP
:
따라서, 예를 들어 :에
L73F11341687Per^^^SCI^SP
실제로 변환
1. L73F11341687Per
2. 12ABC
3.
4. SCI
5. SP
그리고 다시 테이블은 다음과 같습니다
table
[1]=table
[1]='07-26-27'
[2]=table
[1]='L73F11341687Per'
[2]='12ABC'
[3]=''
[4]='SCI'
[5]='SP'
[3]=table
[1]='N7N558300000Acc'
[2]=''
는 희망이 내가 할 노력하고있어에 조금 더 빛이 나고.
원하는 답변에서 'SCI'와 'SP'사이에 공백이 없어야합니까? –