CSharp · Console
using System;
public class Program
{
public static void Main()
{
string original = "foo bar foo $ bar $ foo bar $ ";
string desired_output = "foo bar foo $ bar foo bar";
var buffer = original.ToCharArray();
bool found = false;
int dest = 0;
for(int i = 0; i < buffer.Length; i++)
{
if (buffer[i] != '$' || !found)
{
buffer[dest] = buffer[i];
dest++;
}
if (buffer[i] == '$') found = true;
}
var result = new string(buffer, 0, dest).Replace(" ", " ").Trim();
Console.WriteLine(result);
Console.WriteLine(desired_output == result);
}
}