Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,848 questions

51,769 answers

573 users

How to replace multiple consecutive question marks (?) with a single question mark in Pascal

1 Answer

0 votes
program ReplaceMultipleQuestionMarks;

function CompressQuestionMarks(const input: string): string;
var
  i: Integer;
  resultStr: string;
  lastWasQuestionMark: Boolean;
begin
  resultStr := '';
  lastWasQuestionMark := False;

  for i := 1 to Length(input) do
  begin
    if input[i] = '?' then
    begin
      if not lastWasQuestionMark then
      begin
        resultStr := resultStr + '?';
        lastWasQuestionMark := True;
      end;
      // skip consecutive '?'
    end
    else
    begin
      resultStr := resultStr + input[i];
      lastWasQuestionMark := False;
    end;
  end;

  CompressQuestionMarks := resultStr;
end;

var
  inputText: string;
begin
  inputText := 'Hello??? How are you?? What is your Wi-Fi password????';

  WriteLn('Processed: ', CompressQuestionMarks(inputText));
end.




(*
run:
  
Processed: Hello? How are you? What is your Wi-Fi password?
  
*)

 



answered Jul 24, 2025 by avibootz
...