Regex.Replace(yourstring, "^x y z ", "x_y_z ")
сделал бы это, конечно. То, сколько вы хотите обобщить, зависит от того, какие именно «символы, за которыми следуют пробелы», которые вы хотите заменить (учитывая, что вы не хотите заменять word1
и более поздние строки примера); например, если вы хотите заменить ровно три односимвольных идентификатора (за которыми следуют пробелы) в начале строки, правильное обобщение:
Regex.Replace(yourstring, "^([a-z]) ([a-z]) ([a-z]) ", "$1_$2_$3 ")
но все по-другому, если вы хотите заменить разное количество идентификаторов или идентификаторов разной длины и т. Д. И т. Д. Скажите нам точно, что вы хотите заменить (и где вы хотите прекратить замену), и мы можем быть более конкретными в наши предложения.