![공백, 공백 및 탭은 문자열의 일부입니까? [복사]](https://linux55.com/image/12346/%EA%B3%B5%EB%B0%B1%2C%20%EA%B3%B5%EB%B0%B1%20%EB%B0%8F%20%ED%83%AD%EC%9D%80%20%EB%AC%B8%EC%9E%90%EC%97%B4%EC%9D%98%20%EC%9D%BC%EB%B6%80%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
공백과 공백 사이에 차이가 있나요?
탭, 공백, 공백도 문자로 간주되나요?
답변1
귀하의 태그가 "정규식"을 나타내므로 POSIX 문자 클래스 [:blank:]
및 [:space:]
.
이 개요표에는 [:blank:]
다음의 하위 집합이 나와 있습니다 [:space:]
.
[:space:]
\x20
일반적으로 "공백 문자"로 지정된 모든 항목, 즉 "공백"("공백" 막대를 누를 때 생성되는 문자), 가로 탭, 세로 탭, 폼 피드 등을 포함합니다.[:blank:]
"빈 공간"을 생성하는 문자만 포함합니다.같은 줄 안에, 즉 '공백' 및 가로 탭입니다\t
. (*)
예, 컴퓨터 입력의 맥락에서 이들 모두는 문자이므로 정규식을 디자인할 때 문자로 취급되어야 합니다.
고쳐 쓰다 여기비슷한 논의이다.
[:blank:]
(*) 참고: Stéphane Chazelas가 지적했듯이 수직 탭과 페이지 나누기를 포함할 수 있는 BSD 기반 구현이 있습니다 .여기.
답변2
이 경우에는 "공백"이라는 것이 없습니다. 당신이 가지고 있는 것은 문자뿐이며 그 중 일부는 실제로 일반 텍스트에서 볼 수 있는 내용을 인쇄하지 않습니다. 하지만 모든 것은 문자로 표현됩니다. ASCII에는 인쇄할 수 없는 문자가 꽤 많이 있습니다. 여기에서 전체 목록을 찾을 수 있습니다.https://web.itu.edu.tr/sgunduz/courses/mikroisl/ascii.html. 텍스트 파일에서 볼 수 있는 다양한 공백 문자는 다음과 같습니다.
- 공간:
- 상표:
\t
- 새로운 팀:
\n
- 입력하다:
\r
그리고 덜 일반적으로:
- 벨:
\a
- 백스페이스 키:
\b
- 수직 탭:
\v
- 페이지 변경:
\f
인쇄되지 않지만 텍스트 파일에는 나타나지 않는 NULL() 문자 \0
와 특수 이스케이프( \e
또는 ^[
) 및 Control-Z( ^Z
) 문자를 사용할 수도 있지만 실제로 텍스트에는 없습니다. 파일.
관련된 링크들
따라서 "공백"은 공백, 탭 또는 기타 공백 문자일 수 있습니다. 또는 ASCII 대신 유니코드를 사용한다면 온갖 이상한 일들을 겪게 될 것입니다. 하지만 당신이 가지고 있는 것이 무엇이든, 그들은 캐릭터가 될 것입니다. 텍스트에서 공백이 보이면 컴퓨터가 일부 문자를 인식하는 것입니다. "공백"은 문자가 없는 것이 아니라 항상 인쇄할 수 없는 문자가 있는 것입니다.
답변3
https://en.wikipedia.org/wiki/Whitespace_character
컴퓨터 프로그래밍에서 공백은 타이포그래피의 가로 또는 세로 공간을 나타내는 문자 또는 일련의 문자입니다.
나는 당신이 명령줄 사용법을 언급하고 있다고 생각합니다.
스크립트에 입력된 명령과 같이 명령 프로세서에 의해 처리되는 명령에서 공백 문자는 두 가지 가능한 기능, 즉 명령이나 인수의 일부로, 또는 인수나 이름 구분 기호로 사용되므로 문제를 일으킬 수 있습니다. 포함된 공백을 허용하지 않거나 이름을 인용 문자 사이에 포함된 공백으로 묶어 모호성을 방지할 수 있습니다.
매개변수 구분자로 공백:
command arg1 arg2
문자열의 일부인 공백(명령에 대한 단일 인수):
command "arg with spaces"
답변4
예, 공백을 강조하면 NULL이고, 그렇지 않으면 공백과 공백이 동일합니다. 공백, 공백 및 탭 문자는 모두 ASCII 또는 유니코드 시스템에서 정의된 문자입니다. 공백[0x00], 공백[0x20], 탭[0x09]