[PYTHON] 문자열을 부분 문자열로 변환하는 방법이 있습니까?
PYTHON문자열을 부분 문자열로 변환하는 방법이 있습니까?
파이썬에서 문자열을 부분 문자열로 변환하여 문자열의 끝에서 3 번째 문자까지 새로운 문자열을 얻는 방법이 있습니까?
아마 myString [2 : end]과 같은가요?
두 번째 부분을 떠나는 것이 '끝까지'를 의미하는 경우 첫 번째 부분을 떠나면 처음부터 시작합니까?
해결법
-
==============================
1.
>>> x = "Hello World!" >>> x[2:] 'llo World!' >>> x[:2] 'He' >>> x[:-2] 'Hello Worl' >>> x[-2:] 'd!' >>> x[2:-2] 'llo Worl'
파이썬은이 개념을 "슬라이싱 (slicing)"이라고 부르며 단순한 문자열 이상에서 작동합니다. 여기에서 포괄적 인 소개를보십시오.
-
==============================
2.다른 사람이 언급하지 않았으니 완전성을 위해서. 배열 슬라이스의 세 번째 매개 변수는 단계입니다. 따라서 문자열을 뒤집는 것은 다음과 같이 간단합니다.
다른 사람이 언급하지 않았으니 완전성을 위해서. 배열 슬라이스의 세 번째 매개 변수는 단계입니다. 따라서 문자열을 뒤집는 것은 다음과 같이 간단합니다.
some_string[::-1]
또는 대체 문자를 선택하는 방법은 다음과 같습니다.
"H-e-l-l-o- -W-o-r-l-d"[::2] # outputs "Hello World"
문자열을 앞뒤로 이동하는 기능은 슬라이스를 시작 또는 끝에서 배열 할 수있는 일관성을 유지합니다.
-
==============================
3.Substr ()은 PHP와 Perl이 정상적으로 작동합니다.
Substr ()은 PHP와 Perl이 정상적으로 작동합니다.
s = Substr(s, beginning, LENGTH)
그래서 매개 변수는 시작과 길이입니다.
그러나 파이썬의 동작은 다릅니다. END (!) 다음에 시작과 끝을 예상합니다. 이것은 초보자가 쉽게 발견 할 수 없습니다. 따라서 Substr (s, beginning, LENGTH)의 올바른 대체는 다음과 같습니다.
s = s[ beginning : beginning + LENGTH]
-
==============================
4.이것을 달성하는 일반적인 방법은 String slicing입니다. MyString [a : b]는 인덱스 a에서 (b - 1)까지 하위 문자열을 제공합니다.
이것을 달성하는 일반적인 방법은 String slicing입니다. MyString [a : b]는 인덱스 a에서 (b - 1)까지 하위 문자열을 제공합니다.
-
==============================
5.전체 (얕은) 사본 : 여기서 한 가지 예가 누락 된 것 같습니다.
전체 (얕은) 사본 : 여기서 한 가지 예가 누락 된 것 같습니다.
>>> x = "Hello World!" >>> x 'Hello World!' >>> x[:] 'Hello World!' >>> x==x[:] True >>>
이것은 연속 된 유형의 사본을 만드는 일반적인 관용구입니다 (인턴 된 문자열이 아닌). [:] Shallow는 목록을 복사합니다. python-list-slice-used-for-no-obvious-reason을보세요.
-
==============================
6.예, 이름을 끝내거나 상수 싱글 톤에 할당하거나 바인딩하면 실제로 작동합니다. 없음 :
예, 이름을 끝내거나 상수 싱글 톤에 할당하거나 바인딩하면 실제로 작동합니다. 없음 :
>>> end = None >>> myString = '1234567890' >>> myString[2:end] '34567890'
슬라이스 표기법에는 3 가지 중요한 인수가 있습니다.
주어진 기본값이 없으면 None이지만 명시 적으로 전달할 수 있습니다.
>>> stop = step = None >>> start = 2 >>> myString[start:stop:step] '34567890'
네, 예를 들면 :
>>> start = None >>> stop = 2 >>> myString[start:stop:step] '12'
우리는 슬라이스에 start를 포함 시키지만, 우리는 멈추지 만 멈추지 않는다.
step이 None이면 기본적으로 슬라이스는 단계에 1을 사용합니다. 음의 정수로 단계를 밟으면 파이썬은 처음부터 끝까지 똑똑하다.
>>> myString[::-1] '0987654321'
슬라이스 표기법 설명 질문에 대한 답변에서 슬라이스 표기법을 아주 자세하게 설명합니다.
-
==============================
7.당신은 "끝"을 제외하고 바로 그것을 가지고 있습니다. 슬라이스 표기법이라고합니다. 귀하의 예제를 읽어야합니다 :
당신은 "끝"을 제외하고 바로 그것을 가지고 있습니다. 슬라이스 표기법이라고합니다. 귀하의 예제를 읽어야합니다 :
new_sub_string = myString[2:]
두 번째 매개 변수를 생략하면 암시 적으로 문자열의 끝입니다.
-
==============================
8.토론에 두 가지 요점을 추가하고자합니다.
토론에 두 가지 요점을 추가하고자합니다.
-
==============================
9.어쩌면 나는 그것을 놓쳤지 만, 변수가 더 이상 여기서 논의되지 않기 때문에이 질문에 대한 완전한 답을 찾을 수 없었다. 그래서 나는 수색을해야했다.
어쩌면 나는 그것을 놓쳤지 만, 변수가 더 이상 여기서 논의되지 않기 때문에이 질문에 대한 완전한 답을 찾을 수 없었다. 그래서 나는 수색을해야했다.
아직 코멘트 할 수 없으므로 여기에 내 결론을 추가하겠습니다. 이 페이지에 액세스 할 때 관심이있는 유일한 사람이 아니라고 확신합니다.
>>>myString = 'Hello World' >>>end = 5 >>>myString[2:end] 'llo'
첫 번째 부분을 떠나면
>>>myString[:end] 'Hello'
그리고 중간에 다음과 같이 남겨 두었다면 가장 간단한 부분 문자열을 얻습니다.이 부분 문자열은 5 번째 문자입니다 (0부터 시작하므로이 경우에는 공백 임).
>>>myString[end] ' '
-
==============================
10.그것은 매우 간단합니다.
그것은 매우 간단합니다.
s = 'Hello, World!' print(s[:]) # prints "Hello, World!" print(s[:5]) # prints Hello print(s[5:]) # prints , World! print(s[3:7]) # prints "lo, "
-
==============================
11.하드 코드 된 인덱스를 사용하면 혼란 스러울 수 있습니다.
하드 코드 된 인덱스를 사용하면 혼란 스러울 수 있습니다.
이를 피하기 위해 Python은 내장 객체 slice ()를 제공합니다.
string = "my company has 1000$ on profit, but I lost 500$ gambling."
얼마나 많은 돈이 남아 있는지 알고 싶다면
일반적인 해결책 :
final = int(string[15:19]) - int(string[43:46]) print(final) >>>500
조각 사용 :
EARNINGS = slice(15, 19) LOSSES = slice(43, 46) final = int(string[EARNINGS]) - int(string[LOSSES]) print(final) >>>500
슬라이스를 사용하면 가독성이 높아집니다.
from https://stackoverflow.com/questions/663171/is-there-a-way-to-substring-a-string by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 수십 개의 배열을 가로 지르는 곱셈 (0) | 2018.11.02 |
---|---|
[PYTHON] 특수 문자에 대한 문자열을 확인하는 방법? (0) | 2018.11.02 |
[PYTHON] 어떻게 장고에서 manytomany 필드를 업데이 트하려면? (0) | 2018.11.02 |
[PYTHON] 임포트 텐서 흐름을 실행 한 후 잘못된 명령 (코어 덤프 됨) (0) | 2018.11.02 |
[PYTHON] Python은 선형 보간법을 사용하여 불규칙한 시계열을 정규화합니다. (0) | 2018.11.02 |