Перейти к содержимому

Как вывести кавычки в c

  • автор:

Кавычки в строковых выражениях

В ситуациях, когда необходимо создать строки для объединения, может потребоваться внедрить строку в другую строку или строковую переменную в строку. Ситуации, в которых может потребоваться вложить одну строку в другую, включают:

  • При указании условий для агрегатных функций домена.
  • При указании условий для методов Find .
  • При указании условий для свойства Filter или ServerFilter формы.
  • При создании строк SQL.

Во всех этих экземплярах Access должен передавать строку ядру СУБД Access. Например, при указании аргумента условия для агрегатной функции домена Access необходимо оценить все переменные, сцепить их в строку, а затем передать всю строку в ядро СУБД Access.

При внедрении числовой переменной Access вычисляет переменную и просто объединяет значение в строку. Однако если переменная является текстовой строкой, результирующая строка условия будет содержать строку в строке. Строка в строке должна быть определена разделителями строк. В противном случае ядро СУБД Access не сможет определить, какая часть строки является нужным значением.

Строковые разделители на самом деле не являются частью самой переменной, но они должны быть включены в строку в аргументе условия . Существует три разных способа создания строки в аргументе условия . Каждый метод приводит к подобию аргумента условия , который выглядит как в одном из следующих примеров.

"[LastName] = 'Smith'" 
"[LastName] = ""Smith""" 

Включить одинарные кавычки

В аргумент условия следует включить одинарные кавычки таким образом, чтобы при сцеплях значения переменной в строку оно заключалось в одинарные кавычки. Например, предположим, что аргумент условия должен содержать строковую переменную с именем strName . Аргумент условия можно создать, как показано в следующем примере:

"[LastName] = '" & strName & "'" 

Когда переменная strName вычисляется и объединяется в строку условия , строка условия становится:

"[LastName] = 'Smith'" 

Этот синтаксис не позволяет использовать апострофы (‘) в значении самой переменной. Если значение строковой переменной содержит апостроф, Access создает ошибку во время выполнения. Если переменная может представлять значения, содержащие апострофы, рассмотрите возможность использования одной из других форм синтаксиса, описанных в следующих разделах.

Включить двойные кавычки

Следует включить двойные кавычки в аргумент условия таким образом, чтобы при вычислении значения переменной оно заключалось в кавычки. В строке необходимо использовать два набора двойных кавычек, чтобы представить один набор двойных кавычек. Аргумент условия можно создать, как показано в следующем примере:

"[LastName] = """ & strName & """" 

Когда переменная strName вычисляется и объединяется с аргументом условия , каждый набор из двух двойных кавычек заменяется одной кавычки. Аргумент условия становится следующим:

"[LastName] = 'Smith'" 

Этот синтаксис может показаться более сложным, чем синтаксис одной кавычки, но он позволяет внедрить строку, содержащую апостроф, в аргумент условия . Он также позволяет вложить одну или несколько строк во внедренную строку.

Включение переменной, представляющей кавычки

Можно создать строковую переменную, представляющую двойные кавычки, и объединить эту переменную в аргумент условия вместе со значением переменной. Представление ANSI для двойных кавычек : Chr$(34) это значение можно присвоить строковой переменной с именем strQuote . Затем можно создать аргумент условия , как показано в следующем примере:

"[LastName] = " & strQuote & strName & strQuote 

Когда переменные вычисляются и объединяются в аргумент условия , аргумент условия становится следующим:

[LastName] = "Smith" 

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Обратная связь

Были ли сведения на этой странице полезными?

Обратная связь

Отправить и просмотреть отзыв по

Как вывести кавычки в c

Кавычки, ограничивающие строки с обеих сторон, служат для предотвращения интерпретации специальных символов, которые могут находиться в строке. (Символ называется «специальным», если он несет дополнительную смысловую нагрузку, например символ шаблона — * .)

bash$ ls -l [Vv]* bash$ ls -l '[Vv]*' ls: [Vv]*: No such file or directory 

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

bash$ grep '[Пп]ервая' *.txt file1.txt:Это первая строка в file1.txt. file2.txt:Это Первая строка в file2.txt. 

Примечательно, что "не окавыченный" вариант команды grep [Пп]ервая *.txt будет правильно исполняться в Bash, но не в tcsh.

Двойные кавычки могут быть использованы для предотвращения разбиения строки на слова. [2] Заключение строки в кавычки приводит к тому, что она передается как один аргумент, даже если она содержит пробельные символы - разделители.

variable1="a variable containing five words" COMMAND This is $variable1 # Исполнение COMMAND с 7 входными аргументами: # "This" "is" "a" "variable" "containing" "five" "words" COMMAND "This is $variable1" # Исполнение COMMAND с одним входным аргументом: # "This is a variable containing five words" variable2="" # Пустая переменная. COMMAND $variable2 $variable2 $variable2 # Исполнение COMMAND без аргументов. COMMAND "$variable2" "$variable2" "$variable2" # Исполнение COMMAND с 3 "пустыми" аргументами. COMMAND "$variable2 $variable2 $variable2" # Исполнение COMMAND с 1 аргументом (и 2 пробелами). # Спасибо S.C.

Заключение в кавычки аргументов команды echo необходимо только в том случае, когда разбиение на отдельные слова сопряжено с определенными трудностями.

Пример 5-1. Вывод "причудливых" переменных

#!/bin/bash # weirdvars.sh: Вывод "причудливых" переменных var="'(]\\<>\$\"" echo $var # '(]\<>$" echo "$var" # '(]\<>$" Никаких различий. echo IFS='\' echo $var # '(] <>$" \ символ-разделитель преобразован в пробел. echo "$var" # '(]\<>$" # Примеры выше предоставлены S.C. exit 0

Одиночные кавычки ( ' ' ) схожи по своему действию с двойными кавычками, только не допускают обращение к переменным, поскольку специальный символ "$" внутри одинарных кавычек воспринимается как обычный символ. Внутри одиночных кавычек, любой специальный символ, за исключением ' , интерпретируется как простой символ. Одиночные кавычки ( "строгие, или полные кавычки" ) следует рассматривать как более строгий вариант чем двойные кавычки ( "нестрогие, или неполные кавычки" ).

Поскольку внутри одиночных кавычек даже экранирующий ( \ ) символ воспринимается как обычный символ, попытка вывести одиночную кавычку внутри строки, ограниченной одинарными кавычками, не даст желаемого результата.

echo "Why can't I write 's between single quotes" echo # Обходной метод. echo 'Why can'\''t I write '"'"'s between single quotes' # |-------| |----------| |-----------------------| # Три строки, ограниченных одинарными кавычками, # и экранированные одиночные кавычки между ними. # Пример любезно предоставлен Stephane Chazelas.

Экранирование -- это способ заключения в кавычки одиночного символа. Экранирующий ( escape ) символ ( \ ) сообщает интерпретатору, что следующий за ним символ должен восприниматься как обычный символ.

С отдельными командами и утилитами, такими как echo и sed, экранирующий символ может применяться для получения обратного эффекта - когда обычные символы при экранировании приобретают специальное значение.

Специальное назначение некоторых экранированных символов

используемых совместно с echo и sed \n

перевод строки (новая строка)

ASCII-символ с кодом 0xx в восьмеричном виде)

Пример 5-2. Экранированные символы

#!/bin/bash # escaped.sh: экранированные символы echo; echo echo "\v\v\v\v" # Вывод последовательности символов \v\v\v\v. # Для вывода экранированных символов следует использовать ключ -e. echo "=============" echo "ВЕРТИКАЛЬНАЯ ТАБУЛЯЦИЯ" echo -e "\v\v\v\v" # Вывод 4-х вертикальных табуляций. echo "==============" echo "КАВЫЧКИ" echo -e "\042" # Выводит символ " (кавычки с восьмеричным кодом ASCII 42). echo "==============" # Конструкция $'\X' делает использование ключа -e необязательным. echo; echo "НОВАЯ СТРОКА И ЗВОНОК" echo $'\n' # Перевод строки. echo $'\a' # Звонок (сигнал). echo "===============" echo "КАВЫЧКИ" # Bash версии 2 и выше допускает использование конструкции $'\nnn'. # Обратите внимание: здесь под '\nnn' подразумевается восьмеричное значение. echo $'\t \042 \t' # Кавычки (") окруженные табуляцией. # В конструкции $'\xhhh' допускается использовать и шестнадцатеричные значения. echo $'\t \x22 \t' # Кавычки (") окруженные табуляцией. # Спасибо Greg Keraunen, за это примечание. # Ранние версии Bash допускали употребление конструкции в виде '\x022'. echo "===============" echo # Запись ASCII-символов в переменную. # ---------------------------------------- quote=$'\042' # запись символа " в переменную. echo "$quote Эта часть строки ограничена кавычками, $quote а эта -- нет." echo # Конкатенация ASCII-символов в переменную. triple_underline=$'\137\137\137' # 137 -- это восьмеричный код символа '_'. echo "$triple_underline ПОДЧЕРКИВАНИЕ $triple_underline" echo ABC=$'\101\102\103\010' # 101, 102, 103 это A, B и C соответственно. echo $ABC echo; echo escape=$'\033' # 033 -- восьмеричный код экранирующего символа. echo "\"escape\" выводится как $escape" # вывод отсутствует. echo; echo exit 0
echo "Привет" # Привет echo "Он сказал: \"Привет\"." # Он сказал: "Привет".

символ доллара (если за комбинацией символов \$ следует имя переменной, то она не будет разыменована)

echo "\$variable01" # выведет $variable01
echo "\\" # выведет \
# Простое экранирование и кавычки echo \z # z echo \\z # \z echo '\z' # \z echo '\\z' # \\z echo "\z" # \z echo "\\z" # \z # Подстановка команды echo `echo \z` # z echo `echo \\z` # z echo `echo \\\z` # \z echo `echo \\\\z` # \z echo `echo \\\\\\z` # \z echo `echo \\\\\\\z` # \\z echo `echo "\z"` # \z echo `echo "\\z"` # \z # Встроенный документ cat 

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

variable=\ echo "$variable" # Не работает - дает сообщение об ошибке: # test.sh: : command not found # В "чистом" виде экранирующий (escape) символ не может быть записан в переменную. # # Фактически, в данном примере, происходит экранирование символа перевода строки #+ в результате получается такая команда: variable=echo "$variable" #+ ошибочное присваивание variable=\ 23skidoo echo "$variable" # 23skidoo # Здесь все в порядке, поскольку вторая строка #+ является нормальным, с точки зрения присваивания, выражением. variable=\ # \^ За escape-символом следует пробел echo "$variable" # пробел variable=\\ echo "$variable" # \ variable=\\\ echo "$variable" # Не работает - сообщение об ошибке: # test.sh: \: command not found # # Первый escape-символ экранирует второй, а третий оказывается неэкранированным, #+ результат тот же, что и в первом примере. variable=\\\\ echo "$variable" # \\ # Второй и четвертый escape-символы экранированы. # Это нормально.

Экранирование пробелов предотвращает разбиение списка аргументов командной строки на отдельные аргументы.

file_list="/bin/cat /bin/gzip /bin/more /usr/bin/less /usr/bin/emacs-20.7" # Список файлов как аргумент(ы) командной строки. # Добавить два файла в список и вывести список. ls -l /usr/X11R6/bin/xsetroot /sbin/dump $file_list echo "-------------------------------------------------------------------------" # Что произойдет, если экранировать пробелы в списке? ls -l /usr/X11R6/bin/xsetroot\ /sbin/dump\ $file_list # Ошибка: первые три файла будут "слиты" воедино # и переданы команде 'ls -l' как один аргумент # потому что два пробела, разделяющие аргументы (слова) -- экранированы.

Кроме того, escape -символ позволяет писать многострочные команды. Обычно, каждая команда занимает одну строку, но escape -символ позволяет экранировать символ перевода строки , в результате чего одна команда может занимать несколько строк.

(cd /source/directory && tar cf - . ) | \ (cd /dest/directory && tar xpvf -) # Команда копирования дерева каталогов. # Разбита на две строки для большей удобочитаемости. # Альтернативный вариант: tar cf - -C /source/directory . | tar xpvf - -C /dest/directory # См. примечание ниже. # (Спасибо Stephane Chazelas.)

Если строка сценария заканчивается символом создания конвейера | , то необходимость в применении символа \ , для экранирования перевода строки, отпадает. Тем не менее, считается хорошим тоном, всегда использовать символ "\" в конце промежуточных строк многострочных команд.

echo "foo bar" #foo #bar echo echo 'foo bar' # Никаких различий. #foo #bar echo echo foo\ bar # Перевод строки экранирован. #foobar echo echo "foo\ bar" # Внутри "нестрогих" кавычек символ "\" интерпретируется как экранирующий. #foobar echo echo 'foo\ bar' # В "строгих" кавычках обратный слэш воспринимается как обычный символ. #foo\ #bar # Примеры предложены Stephane Chazelas.

Примечания

Не менее любопытно поведение символа "\" , употребляемого внутри двойных кавычек.

bash$ echo hello\! hello! bash$ echo "hello\!" hello\! bash$ echo -e x\ty xty bash$ echo -e "x\ty" x y 

(Спасибо Wayne Pollock за пояснения.)

"Разбиение на слова" , в данном случае это означает разделение строки символов на некоторое число аргументов.

Назад К началу Вперед
Специальные типы переменных Наверх Завершение и код завершения

Как вывести кавычки в c

Профиль
Группа: Участник
Сообщений: 2
Регистрация: 1.12.2008

Репутация: нет
Всего: нет

Как в C при помощи printf вывести кавычки в строке.
Решил попрактиковаться в выводе текстовых строк.
Нужно вывести кавычки внутри строки через printf, какие специальные символы для того используются.

Дата 1.12.2008, 14:59 (ссылка) | (нет голосов) Загрузка .

Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196

Надо использовать "экранирование" обратным слешем:

Код
printf("My text is: \"my text\"\n");
Дата 1.12.2008, 15:58 (ссылка) | (нет голосов) Загрузка .

Профиль
Группа: Участник
Сообщений: 2
Регистрация: 1.12.2008

Репутация: нет
Всего: нет

Спасибо bsa, тоже уже нашёл, но тем не менее.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • FAQ раздела лежит здесь!

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »

[ Время генерации скрипта: 0.1068 ] [ Использовано запросов: 21 ] [ GZIP включён ]

Как вывести в консоль кавычки в C#?

Добрый день!
Как вывести в консоль символ кавычки" в языке C#?

  • Вопрос задан более трёх лет назад
  • 760 просмотров

Комментировать

Решения вопроса 1

Alexandre888

Александр @Alexandre888

Javascript-разработчик

Console.Write("\"текст\"");

Ответ написан более трёх лет назад

Нравится 5 2 комментария

LoliDeveloper

LoliDeveloper @LoliDeveloper

Добавлю что суть в обратном слеше \, видишь он ставит двойные ковычки. Одни идут как показатель на то что это строковый тип данных ", а вторые после обратного слеша \"

AnnTHony

LoliDeveloper, Экранирование

Ответы на вопрос 1

vabka

Василий Банников @vabka Куратор тега C#

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *