Для имен файлов:
string cleanFileName = String.Join ("", fileName.Split (Path.GetInvalidFileNameChars ()));
Для полных путей:
string cleanPath = String.Join ("", path.Split (Path.GetInvalidPathChars ()));
Я предполагаю, что вы действительно хотите, чтобы Omega
была строкой , содержащей прописную омегу в верхнем регистре? В этом случае вы можете написать:
var Omega = '\u03A9';
(Потому что & Omega; - символ Юникода с кодовым номером U + 03A9 , то есть 03A9
- 937
, кроме как записано в виде четырех шестнадцатеричных цифр.)
Ответ правильный, но вам не нужно объявлять переменную. Строка может содержать ваш символ:
"This string contains omega, that looks like this: \u03A9"
К сожалению, эти коды в ASCII необходимы для отображения UTF-8, но я все еще жду (с тех пор слишком много лет ...) в тот день, когда UTF- 8 будет таким же, как ASCII, и ASCII будет просто воспоминанием о прошлом.
\u{1F641}
=
– User that is not a user
14 October 2017 в 00:44
Несмотря на то, что @ruakh дал хороший ответ, я добавлю несколько альтернатив для полноты:
Вы могли бы использовать даже var Omega = 'Ω'
в JavaScript, но только если ваш код JavaScript:
onclick="var Omega = 'Ω';
alert(Omega)"
или script
внутри документа XHTML (или XHTML + XML), который подается с типом содержимого XML. В этих случаях код будет первым (до того, как он будет передан интерпретатору JavaScript) проанализирован парсером HTML, чтобы распознать символьные ссылки, такие как Ω
. Ограничения делают это непрактичным подходом в большинстве случаев.
Вы также можете ввести символ Ω как таковой, как в var Omega = 'Ω'
, но тогда кодировка символов должна позволять это, кодирование должно быть должным образом объявлено, и вам нужно программное обеспечение, позволяющее вводить такие символы. Это чистое решение и вполне возможно, если вы используете кодировку UTF-8 для всего и готовы решать проблемы, созданные им. Исходный код будет читабельным, и, читая его, вы сразу увидите символ, а не код. С другой стороны, это может вызвать неожиданности, если другие люди начнут работать с вашим кодом.
Использование нотации \u
, как и в var Omega = '\u03A9'
, работает независимо от кодировки символов, и практически практически универсальный. Однако он может использоваться как таковой только до U + FFFF, то есть до \uffff
, но большинство персонажей, которые большинство людей когда-либо слышали, попадают в эту область. (Если вам нужны «более высокие» символы, вам нужно использовать суррогатные пары или один из двух подходов выше).
Вы также можете создать символ, используя метод String.fromCharCode()
, передавая в качестве параметра Номер Юникода, в десятичном формате, как в var Omega = String.fromCharCode(937)
, или в шестнадцатеричном виде, как в var Omega = String.fromCharCode(0x3A9)
. Это работает до U + FFFF. Этот подход можно использовать, даже если у вас есть номер Unicode в переменной.
U+FFFF
. JavaScript тоже есть, поэтому вы можете это сделать. var poop = '\u{1F4A9}';
– User that is not a user
14 October 2017 в 00:40
var lock = '\u{1F512}'
И вы получите это:
– User that is not a user
17 July 2018 в 01:26