Guest User

Untitled

a guest
Aug 18th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.71 KB | None | 0 0
  1. Replacing character inside string pascal
  2. _Dear___friend___I can't__solve_this.Please_____try_to_solve_it.__And__how__are_you_?All_is___good_.
  3.  
  4. Dear friend I can't solve_this. Please try to solve it. And how are you?All is good.
  5.  
  6. Function correctMe(sentence: String): String;
  7. BEGIN
  8. firstChar := sentence[1];
  9. WriteLn(sentence);
  10. IF (ord(firstChar) < 65) OR (ord(firstChar) > 90) THEN BEGIN
  11. Delete(sentence, 1, 1);
  12. correctMe:=sentence;
  13. END;
  14.  
  15. BEGIN
  16. FOR i := 1 to Length(sentence) DO
  17. IF (sentence[i] = '_') THEN BEGIN
  18. Delete(sentence, i, 1);
  19. END;
  20. END;
  21. END;
  22.  
  23. FOR i := 1 to Length(sentence) DO
  24. IF (ord(sentence[i]) = 95) THEN BEGIN
  25. Delete(sentence, i, 1);
  26. END;
  27. END;
  28.  
  29. FOR i := 1 to Length(sentence) DO
  30. IF (Pos('_', sentence[i])) THEN BEGIN
  31. Delete(sentence, i, 1);
  32. END;
  33. END;
  34.  
  35. FOR i := 1 to Length(sentence) DO
  36. IF (Pos(95, ord(sentence[i]))) THEN BEGIN
  37. Delete(sentence, i, 1);
  38. END;
  39. END;
  40.  
  41. function correctMe(sentence: String): String;
  42. var
  43. Idx, SentenceLen, Start, Len: Integer;
  44. begin
  45. correctMe := '';
  46. sentence := Trim(sentence);
  47. SentenceLen := Length(sentence);
  48. If SentenceLen = 0 then Exit;
  49. idx := 1;
  50. while Idx <= SentenceLen do
  51. begin
  52. if (sentence[Idx] <> '_') then
  53. begin
  54. Idx := Idx + 1;
  55. end else
  56. begin
  57. Start := Idx;
  58. Idx := Idx + 1;
  59. while (Idx <= SentenceLen) and (sentence[Idx] = '_') do Idx := Idx + 1;
  60. Len := ((Idx - Start) - 1);
  61. if (Len > 0) then
  62. begin
  63. Delete(sentence, Start, Len);
  64. SentenceLen := SentenceLen - Len;
  65. end;
  66. sentence[Start] := ' ';
  67. Idx := Start + 1;
  68. end;
  69. end;
  70. correctMe := sentence;
  71. end;
  72.  
  73. program test;
  74.  
  75. Function correctMe(sentence: String): String;
  76. var replacement: String(255);
  77. var temp: String(255);
  78. var i: integer;
  79. BEGIN
  80. temp := ' ';
  81. replacement := '';
  82. IF (Pos('_', sentence)) > 0 THEN
  83. BEGIN
  84. i:= 1;
  85. WHILE i <= Length(sentence) DO
  86. BEGIN
  87. IF (sentence[i] <> '_') THEN
  88. BEGIN
  89. temp[1] := sentence[i];
  90. replacement := Concat(replacement, temp);
  91. END
  92. ELSE
  93. BEGIN
  94. temp[1] := ' ';
  95. replacement := Concat(replacement, temp);
  96. REPEAT
  97. i:= i + 1;
  98. UNTIL (sentence[i] <> '_') OR (i>Length(sentence));
  99. i:= i-1;
  100. END;
  101. i:= i+1;
  102. END
  103. END
  104. ELSE
  105. BEGIN
  106. replacement := sentence;
  107. END;
  108.  
  109. correctMe := replacement;
  110. END;
  111.  
  112. begin
  113. WriteLn(correctMe("_Dear___friend___I can't__solve_this.Please_____try_to_solve_it.__And__how__are_you"));
  114. end.
  115.  
  116. function correct(sentence: String) : String;
  117. BEGIN
  118. for i:= 1 to LENGTH(sentence) Do
  119. if (sentence[i] = '_') THEN
  120. sentence[i] := ' ';
  121. end;
Add Comment
Please, Sign In to add comment