我正在尝试从 pascal 中的同一行读取两个字符串变量。
这两个字符串由空格分隔。
我试过像一个字符串一样读取它,然后将它分成两部分,但是我遇到了一个问题,因为字符串大于 255 个字符。
这是我要阅读的字符串:
kyGOwpLobZvGynmdpiujxhUwphFsTTipuyAwpeffcckLuPouxmpQwGeMxqDoIqeWVkpdLueirlLiabfhxjnwbyMDYUfhGmlnFJdmfhtxljPqicbotSBvkKaQdsmbyrhmmSdexHjwdnecjRtzef mkhRyGOwpLobZvGynmdpiujxhUwphFsTTipuyAwpeffcckLumWbnbfdhlzFmnkkrwNsewPouxmpQwGeMxqDoIqeWVkpdLueirlLiabfhxjnwbyMDYUfhGmlnFJdmfhtxljPqicbotSBvkKaQdsmbyrhmmSdexHjwdnecjRtzeajfz`
该行并不总是相同的长度,并且空白空间不在同一位置。
我试图弄清楚是否通过从第二个字符串中删除一些字符可以得到第一个。
示例:STRING aSgasTsaRoIgfNfdsG
应该得到肯定的答案。
这是检查它的代码。
q:=1;
for m:=1 to length(b) do
begin
if b[m] = a[q] then
q:=q+1;
end;
q:=q-1;
writeln(q);
if q = length(a) then
writeln('YES')
else
writeln('NO');
其中 a 是第一个字符串,b 是第二个字符串。
我将第一个大字符串作为一个变量读取,然后将其分成两部分。
当第一个字符串大于 255 个字符时会出现此问题。这就是为什么我想知道如何从同一行读取两个字符串。
我用来分隔字符串的代码:
readln(x);
x:=LONGSTRINGHERE;
blank:=' ';
Location := Pos(blank, x);
a:=Copy(x, 1, (Location-1));
b:=Copy(x, (Location+1), length(x));