Заменить несколько символов в строке в одной строке кода в VB.NET

Хорошая статья о том, как управлять номерами точек с плавающей точкой в ​​java / computers. http://www.artima.com/underthehood/floating.html

btw: это настоящая боль в компьютерах, когда 2.0 - 1.0 может произвести 0.999999999999, что не равно 1. 0 :). Это может быть особенно легко наткнуться на валидации формы javascript.

13
задан Peter Mortensen 1 April 2017 в 19:57
поделиться

4 ответа

Если я правильно прочитал, вы пытаетесь удалить список символов из строки. Это хорошо подходит для регулярного выражения.

Console.WriteLine(Regex.Replace("abcdefghijklmnop", "[acegi]", string.Empty))

(вам необходимо импортировать System.Text.RegularExpressions)

26
ответ дан 1 December 2019 в 18:13
поделиться

Подход RegEx лучше всего подходит, но мне действительно нужно сказать следующее:

Пожалуйста, из любви к разработчикам технического обслуживания, не зацикливайтесь на этом в 1 строку кода. Вызов одного метода - ваша настоящая цель. Если вы в конечном итоге просто скопируете несколько вызовов в одну строку, чтобы сказать, что это одна строка, вы выстрелите себе в ногу.

8
ответ дан 1 December 2019 в 18:13
поделиться

Я рекомендую подход Джона Галлоуэя, подходящим методом является регулярное выражение, и будущие разработчики будут вам за это благодарны :) - хотя эту проблему тоже нетрудно решить с помощью Linq. Вот некоторый (непроверенный) код C # для этого:

string stringToBeReplaced = "abcdefghijklmnop";
string charsToReplace = "acegi";
stringToBeReplaced = new String(stringToBeReplaced.Where(c => !charsToReplace.Any(rc => c == rc)).ToArray());

Я подозреваю, что этот код, вероятно, будет работать немного лучше, чем эквивалент регулярного выражения, если производительность является проблемой.

1
ответ дан 1 December 2019 в 18:13
поделиться

У класса String для этого есть метод replace. Вы можете использовать его следующим образом:

YourString = YourString.Replace("OldValue", "NewValue")
1
ответ дан 1 December 2019 в 18:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: