Вам понадобится избежать различных символов , чтобы использовать переменные в regex, но почему бы не сделать более простую вещь?
sub('(.*)ICA.*', '\\1', d1)
#[1] "CCA: 135 cm/sec " "CCA: 150 cm/sec "
sub('.*(ICA.*)', '\\1', d1)
#[1] "ICA: 50 cm/sec" "ICA: 75 cm/sec"
Существует один поток пользовательского интерфейса, который должен использоваться для всех действий, взаимодействующих с вашими визуальными элементами WPF. Обычно у вас будет конструктор для MainWindow, который будет в этом потоке.
Вы можете создать выделенный поток, который будет взаимодействовать с вашими внешними устройствами и предоставлять слушателю возможность мониторинга внешних коммуникаций, которые не имеют прямого отношения к платформе WPF.