파이썬에서 문자열을 부분 문자열로 변환하여 세 번째 문자부터 문자열 끝까지 새 문자열을 얻는 방법이 있나요?
아마도 myString[2:end]
처럼요?
두 번째 부분을 남겨두면 & 39;끝까지', 첫 번째 부분을 남겨두면 처음부터 시작합니까?
그냥 아무도 모르게 완전성을 위해 이를 언급한 바 있다. 세 번째 매개 변수를 어레이에서는 슬라이스에 단계가 있습니다. 그래서 반전합니다 문자열으로 간단하게 다음과 같습니다.
some_string[::-1]
또는 대체 문자를 선택하면 될 것 "이라고 말했다.
"H-e-l-l-o- -W-o-r-l-d"[::2] # outputs "Hello World"
문자열 일관성 유지 및 뒤로 수 있는 단계 전달 받을 수 있으므로 어레이입니다 처음부터 슬라이스에 단면이거나 끝.
일반적으로 substr () (즉, PHP 와 펄 (perl) 는 이렇게:
s = Substr(s, beginning, LENGTH)
따라서 매개변수입니다 '시작' 과 '길이'.
그러나 Python& # 39 의 행동에 다르다. 시작과 종료 후 (!) 한 것으로 기대하고 있다. 이 어려움 때문에 별색 beginners. 대한 교체품을 Substr (s, 시작, 길이) 는 올바른 의해
s = s[ beginning : beginning + LENGTH]
이를 위해서는 일반적인 방법으로 구체화하십시오 슬라이싱 () 이다.
[a: b] 에서 사용하면 'a' 미스트링 인덱스화할 substring (b - 1).
여기에는 전체(얕은) 사본이라는 한 가지 예가 누락된 것 같습니다.
>>> x = "Hello World!"
>>> x
'Hello World!'
>>> x[:]
'Hello World!'
>>> x==x[:]
True
>>>
이것은 (내부 문자열이 아닌) 시퀀스 유형의 복사본인 [:]
를 만드는 데 사용되는 일반적인 관용구입니다. 목록을 얕게 복사하는 방법은 명백한 이유 없이 사용되는 파이썬 목록 슬라이스 구문을 참조하세요.
>. 수 있는 방법이 있는 substring 문자열으로 파이썬, to get a 에서 새 문자열을 string the end of the 3rd 문자를?
>. 아마도 '미스트링 [2 끝]'?
그래, 사실은 이 작동됨 할당할 경우, 또는 [바인딩하지] [1], 이름, '끝', ':' 없음 '을 상수입니다 싱글턴
>>> end = None
>>> myString = '1234567890'
>>> myString[2:end]
'34567890'
3 가지 중요한 인수만 슬라이스에 표기법:
그 때 그 누구도 할 수 없다 '-' 명시적으로 전달하십시오 설정값으로 주지 않고 있다.
>>> stop = step = None
>>> start = 2
>>> myString[start:stop:step]
'34567890'
>. # 39, & # 39, 이 경우 두 번째 부분은 것가운데 고말은 인도되니 end& 남겨두십시오 경우 1 부 시작 (start from 있습니까?
예, 예:
5 601 {{{000}}}
하지만 우리는 단지 우리가 참고 포함시키십시오 선발 슬라이스에 검색하기를 등 최대 아니라, 세워줘.
단계는 '없음', '1' 은 때 기본적으로 슬라이스에 단계의. 머리가 너무 경우 음의 정수를 갈 수 있는 단계, Python 은 끝에서 시작.
>>> myString[::-1]
'0987654321'
제가 자세히 설명할 수 있는 표기법을 슬라이스에 멋지구리해요 내 대답을 설명하란말야 슬라이스에 표기법 질문이예요
[1]: https://docs.python.org/reference/simple_stmts.html # 할당에서는 명령문입니다.
두 점 토론에 대한 추가 싶다.
이는 특히 도움됐네 함수의 인수로 빈 공간을 제공할 수 있는 can& # 39, t:
데프 substring (s, 시작, 종료): " 시작 ',' 끝 ',' 및 '처음부터 문자이어야 " 제거하시겠습니까 ". 문자를 문자열의 말부터 '.
> > >;; 문자열 (& # 39, abcde& # 39, 0, 3)
> > >;; 문자열 (& # 39,, 1, # 39 abcde& 없음)
" " ";; 반품하십시오 s [시작 종료]
idx = 슬라이스에 (2, 없음)
아마 내가 못알아챘지, t, but I couldn& # 39 이 페이지의 완벽한 해답을 찾기 때문에 처음 질문으로 %hsmb com/go/4e6b330a_kr 않습니다를 기업에서든 살펴 보겠습니다. 그래서 가야만했지 검색에 대한.
>>>myString = 'Hello World'
>>>end = 5
>>>myString[2:end]
'llo'
첫 번째 부분 확보하십시오 두면
>>>myString[:end]
'Hello'
그리고 만약 당신이 떠났다. 뿐만 아니라, 될 수 있는 가장 간단한 문자열 중간에 너회가 attaboy 5 문자 (카운트입니다 0 부터 시작하는 도왔으매 it& # 39 의 빈 이 경우):
>>>myString[end]
' '
미스트링 포함된 경우 계좌번호 오프셋할 시작하는 6 계시한하나님께 길이 9 관심용 계좌번호 이렇게 추출할 수 있습니다. '고객 = 미스트링 [6:] [9]'.
할 수 있는 경우 그 실험적인 시도, 패션, OP
myString[2:][:999999]
No, no 기본 & # 39 작동하잖아 오류: 뚜르산을 구체화하십시오 padding& # 39;; 발생합니다.
한 엉망하지 코딩된 사용하여 indexe 자체가 어려워질 수 있다.
'는 것을 피하기 위해, 파이썬 내장현 객체에는 슬라이스에 ()'.
string = "my company has 1000$ on profit, but I lost 500$ gambling."
만약 우리가 얼마나 많은 돈을 알고 싶어 나는 attaboy 떠나버렸소
보통 해결책:
final = int(string[15:19]) - int(string[43:46])
print(final)
>>>500
Flexlm*용 슬라이스에:
EARNINGS = slice(15, 19)
LOSSES = slice(43, 46)
final = int(string[EARNINGS]) - int(string[LOSSES])
print(final)
>>>500
슬라이스에 사용하여 가독성을 높일 수 있습니다.