我想从pascal中的同一行读取两个字符串变量。
两个字符串由空格分隔。如何从Pascal中的同一行读取两个字符串?
我已经尝试阅读它像一个字符串,然后将它分成两部分,但然后我有一个问题,因为该字符串是大于255个字符。
这里是我试图读取的字符串:
kyGOwpLobZvGynmdpiujxhUwphFsTTipuyAwpeffcckLuPouxmpQwGeMxqDoIqeWVkpdLueirlLiabfhxjnwbyMDYUfhGmlnFJdmfhtxljPqicbotSBvkKaQdsmbyrhmmSdexHjwdnecjRtzef mkhRyGOwpLobZvGynmdpiujxhUwphFsTTipuyAwpeffcckLumWbnbfdhlzFmnkkrwNsewPouxmpQwGeMxqDoIqeWVkpdLueirlLiabfhxjnwbyMDYUfhGmlnFJdmfhtxljPqicbotSBvkKaQdsmbyrhmmSdexHjwdnecjRtzeajfz`
线并不总是相同的长度,而空的空间是不是在同一个位置。
我想弄清楚是否从第二个字符串中删除一些字符,你可以得到第一个。
例如:STRING aSgasTsaRoIfIfdsG
应该会产生正面答案。
这是检查的代码。
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));
欢迎来到StackOverflow。这段文字有多长?你从哪里得到它?空间是否总是在同一个地方(例如,* x *字符)?你能发布你尝试过的代码吗?粘贴一长串字符串和对问题的简要描述并没有多大用处,因此在这里首选您首先要努力解决问题。你能编辑你的问题并提供一些额外的信息吗?谢谢。 :) – 2012-04-05 22:39:31