2015-02-07 13 views

답변

1

마우로스에게 도움을 주셔서 감사합니다. 오늘 아침에 다시 확인하기 전에 알아 냈습니다. 이것은 앞으로이로 실행할 수있는 다른 사람에 대한 답변입니다 :

Crush the Name if it has more than one space in it 
For example: "Alexander The Great" Becomes "Alexander TheGreat", 
"John" stays as "John", "Doc Holiday" stays as "Doc Holiday" 
"Alexander The Super Great" becomes "Alexander TheSuperGreat" and 
so on and so forth. 

FirstSpacePosition := POS(' ',LT.Name); 
s := Copy(LT.Name,1,FirstSpacePosition); 
s2 := Copy(LT.Name,FirstSpacePosition,Length(LT.Name)); 
s := StripAllSpaces(s); 
s2 := StripAllSpaces(s2); 
Insert(' ',s,(Length(s)+1)); 
LT.Name := s+s2; 
StripTrailingBlanks2(LT.Name); 
StripLeadingBlanks(LT.Name);  

을 그리고 StripAllSpaces 기능이 모습 :

FUNCTION StripAllSpaces(s3:STRING):STRING; 
BEGIN 
WHILE POS(' ',s3)>0 DO Delete(s3,Pos(' ',s3),1); 
StripAllSpaces:=s3; 
END;{StripAllSpaces} 

과 StripLeadingBlanks을/StripTrailingBlanks 함수는 다음과 같다 :

PROCEDURE StripTrailingBlanks2(var Strg: string); 
BEGIN 
while Strg[Length(Strg)] = ' ' do 
Delete(Strg, Length(Strg), 1); 
END; { END StripTrailingBlanks } 

PROCEDURE StripLeadingBlanks(var Strg: string); 
BEGIN 
While (Length(Strg) > 0) and (Strg[1] = ' ') do 
Delete(Strg, 1, 1); 
END; { END StripLeadingBlanks } 
1

나는 보통 ...이 물어하지만 적어도이 작동하는 것 같다 일을 할 수있는 가장 좋은 방법입니다 그래서 만약 내가 모르는 자바를 사용

program nospaces(output); 
var 
MyString : string; 
ResultStr: string; 
count: integer; 
i: integer; 
Temp: string; 
n: string; 
begin 
ResultStr:=''; 
MyString := 'Alexander The Great'; 
writeln(MyString); 
count := 0; 
for i := 1 to length(MyString) do 
    begin 
    Temp := copy(MyString, i, 1); 
    if Temp = ' ' then 
    begin 
    If count=0 then 
     begin 
     count := count + 1; 
     ResultStr := ResultStr + Temp; 
     end; 
    end 
    else 
    begin 
    ResultStr := ResultStr + Temp; 
    end 
    end; 
writeln(ResultStr); 
readln(n); 
end. 

(DOS 용 터보 파스칼 7.0을 사용하여) 내가 무슨 짓을 한? 나는 문자열의 문자를 cicle. 찾은 문자가 공백이 아닌 경우 결과 문자열에 추가합니다. 문자가 '공백'이고 첫 번째 문자 인 경우 (count = 0이기 때문에 첫 번째 문자입니다) 1을 추가하여 결과 문자열에 문자를 추가합니다. 그런 다음 캐릭터가 다시 공간 인 경우이 공간을 계속 무시하게 만드는 카운트 = 1을 갖습니다.