![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| andrx |
|
|||
![]() Андрей ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 16.12.2005 Где: Киев Репутация: 1 Всего: 4 |
Добрый день!
Споткнулся на ровном месте Есть переменная : string s = "text"; Как сделать так, чтобы значение переменной s стало представляться как @"text". Вариант string s = @"text"; - не подходит. --------------------
Лучше скажи мало, но хорошо. (Козьма Прутков) |
|||
|
||||
| Tror |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 29.4.2005 Где: Кишинёв Репутация: 2 Всего: 4 |
--------------------
Не говори всегда что знаешь, но знай всегда что говоришь. /Клавдий/============================================Кто может -- тот делает. Кто не может... тот получает сертификат MCSE ;) |
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
А что это такое? Значение строки? Добавлено @ 11:16 Тогда могу предложить две страшные
Добавлено @ 11:17 Tror, апаздал |
|||
|
||||
| andrx |
|
|||
![]() Андрей ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 16.12.2005 Где: Киев Репутация: 1 Всего: 4 |
2 ivashkanet
@"text" - это строка в которой каждый символ будет трактоваться как символ, т.е. строка без управляющих знаков. Привожу пример : MessageBox.Show(@"1\n2"); - выведет одну строку MessageBox.Show("1\n2"); - выведет ДВЕ строки --------------------
Лучше скажи мало, но хорошо. (Козьма Прутков) |
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
Нет про это я в курсе. Только вот вопрос: "Что ты этим имелл ввиду" Ведб значение переменной хранится в одном формате (набор символов, закодированных юникодом,вроде). Вне зависимости как ты ее написал с @ или без |
|||
|
||||
| andrx |
|
||||||
![]() Андрей ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 16.12.2005 Где: Киев Репутация: 1 Всего: 4 |
К сожалению все Ваши варианты это практически тоже самое, что и string s = @"text";
видимо я плохо объяснил проблему. Вот код
Код проверяет есть ли в конфигурационном файле apache незаремленная строка AddCharset WINDOWS-1251 .cp-1251 .win-1251 Так вот если file_httpd_conf представляется как обычная строка то регулярное выражение ничего не найдет если же file_httpd_conf представляется как @строка то все ОК Добавлено @ 11:41 Для примера : string представленный как string
Сообщение не появляется string представленный как @string
Выводится сообщение Это сообщение отредактировал(а) andrx - 5.7.2006, 11:47 --------------------
Лучше скажи мало, но хорошо. (Козьма Прутков) |
||||||
|
|||||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
andrx, я повторяю:
-- разные строки Первая = <возврат каретки><новая строка>nAddCharset WINDOWS-1251 .cp-1251 .win-1251 Вторая = \r\nAddCharset WINDOWS-1251 .cp-1251 .win-1251 Где \r и \n -- просто четыре символа. Две \ и две буквы P.S. Регулярные выражения подзабыл, так что даже не пытался понять что ты ловишь Добавлено @ 12:14 andrx, какими символами "ремится" строка в Apach? Наверное у тебя проблема здесь |
|||
|
||||
| andrx |
|
||||||||
![]() Андрей ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 16.12.2005 Где: Киев Репутация: 1 Всего: 4 |
ivashkanet
сдесь проблемы нет по поводу :
беспорно я как раз и спрашивал Как сделать так, чтобы значение переменной s стало представляться как @"text". т.е. как из
сделать
Это сообщение отредактировал(а) andrx - 5.7.2006, 13:03 --------------------
Лучше скажи мало, но хорошо. (Козьма Прутков) |
||||||||
|
|||||||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
Вот такой значит вопрос. Хммм Думаю только в ручную А самый лучший способ правильно настроить регулярное выражение. А не изобретать велосипед Вот все мои мысли, удачи |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Тебе нужно экранировать символы в существующей строке (которую ты читаешь из файла и складываешь в переменную file_httpd_conf). Тогда и получится тот же эффект, что при использовании символа @ в объявлении строкового литерала. По-человечески это называется "escape special characters" или что-то вроде того, можешь поискать на codeproject-е.
-------------------- ![]() |
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 25 Всего: 173 |
System.Text.RegularExpression.Regex.Escape, как ни странно.
-------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| andrx |
|
|||
![]() Андрей ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 16.12.2005 Где: Киев Репутация: 1 Всего: 4 |
Void
спасибо, вроде бы то, что надо, но пока все не так гладко, как хотелось бы. разбираюсь. --------------------
Лучше скажи мало, но хорошо. (Козьма Прутков) |
|||
|
||||
| Wanderer2019 |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 937 Регистрация: 3.12.2004 Где: Санкт-Петербург/П рага Репутация: 7 Всего: 17 |
а вариант со String.Format????
Ну если я правильно понял то что то в таком духе:
не проверял но вернет строчку вроде @"test" мда... не вернул... суть проблемы ясна.. тогда наверное только регулярные выражения попробуй вот так.. мож получится...
Это сообщение отредактировал(а) Wanderer2019 - 6.7.2006, 11:44 |
||||
|
|||||
| Дрон |
|
|||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 24 Всего: 93 |
andrx,
Извращенец, вы батенька. Какой смысл подгонять исходные данные под кривой обработчик? Тем более если там всё принципиально неверно Однозначно, у тебя проблема в "\b\s*[^#]\s*". Это выражение соответствует последовательности: граница слова, потом возможны пробелы, потом любой символ, кроме # и опять возможны пробелы. И это естественно, что оно вернёт False для строки \r\nAddCharset WINDOWS-1251 .cp-1251 .win-1251 Потому как после \r\n - это граница слова, проелов нет, НО дальше-то нам требуется КАКОЙ-ТО СИМВОЛ -- и как этот символ берётся буква A (первая буква в AddCharset). Оставшаяся часть строки уже ничему не соответствует. Всё -- False. Строка @"\r\nAddCharset WINDOWS-1251 .cp-1251 .win-1251" соответствует выражению, ибо: \r - пропускаем, вторая \ - граница слова, нет пробелов, n - необходимый символ (который не #), опять нет пробелов, дальше идёт нужная строка с AddCharset. Это сообщение отредактировал(а) Дрон - 6.7.2006, 17:16 -------------------- Да. Именно так. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |