>  기사  >  백엔드 개발  >  Python에서 지정된 문자 앞이나 뒤의 모든 것을 삭제하는 방법

Python에서 지정된 문자 앞이나 뒤의 모든 것을 삭제하는 방법

WBOY
WBOY앞으로
2023-05-01 19:10:042200검색

my_str = 'fql!jiyik!com'

separator = '!'

result = my_str.split(separator, 1)[0]
print(result)  # ????️ 'fql'

str.split() 메서드를 사용하여 문자 뒤의 모든 항목을 제거합니다(예제에서는!).

str.split() 메서드는 구분 기호를 사용하여 문자열을 하위 문자열 목록으로 분할합니다.

이 방법은 다음 2개의 매개변수를 사용합니다.

  • separator 구분 기호가 발생할 때마다 문자열을 하위 문자열로 분할합니다.

  • maxsplit 최대 maxsplit 분할 완료(선택 사항)

if 구분 기호를 찾을 수 없는 경우 문자열, 1개의 요소만 포함하는 목록이 반환됩니다.

문자열을 한 번만 분할하면 되므로 maxsplit 매개변수를 1로 설정했습니다.

이 예에서는 문자열에서 해당 문자가 처음 나타난 이후의 모든 항목을 제거합니다.

my_str = 'fql!jiyik!com'


separator = '!'
result_1 = my_str.split(separator, 1)[0]
print(result_1)  # ????️ 'fql'

# ????️ ['fql', 'jiyik!com']
print(my_str.split(separator, 1))

문자 뒤의 모든 내용을 제거하고 구분 기호는 유지하세요

문자열에 구분 기호는 포함되지 않는다는 점에 유의하세요. 포함해야 하는 경우 추가(+) 연산자를 사용하세요.

my_str = 'fql!jiyik!com'

# ✅ 删除字符后的所有内容,保留分隔符
separator = '!'

result = my_str.split(separator, 1)[0] + separator
print(result)  # ????️ fql!

더하기 + 연산자는 Python에서 문자열을 연결하는 데 사용할 수 있습니다.

문자가 마지막으로 나타난 이후의 모든 내용을 제거하세요

문자열에서 문자가 마지막으로 나타난 이후의 모든 내용을 삭제해야 하는 경우 str.rsplit() 메서드를 사용하세요.

my_str = 'fql!jiyik!com'

separator = '!'

# ✅ 删除字符最后一次出现后的所有内容
result = my_str.rsplit(separator, 1)[0]
print(result)  # ????️ 'fql!jiyik'

rsplit()는 오른쪽에서 분할된다는 점을 제외하면 Split()처럼 동작합니다.

str.rsplit() 메서드는 문자열을 오른쪽부터 분할합니다. maxsplit을 1로 설정하면 한 번만 분할됩니다.

마지막 항목 이후의 모든 항목을 제거하고 구분 기호를 유지하세요.

분할 문자를 포함해야 하는 경우 추가 연산자(+)를 사용하세요.

my_str = 'fql!jiyik!com'

separator = '!'

result = my_str.rsplit(separator, 1)[0] + separator
print(result)  # ????️ 'fql!jiyik!'

문자 뒤의 모든 내용을 제거하려면 str.partition()을 사용하세요.

문자열에서 특정 문자 뒤의 모든 내용을 제거하려면 str.partition() 메서드를 사용할 수도 있습니다.

my_str = 'fql!jiyik!com'
separator = '!'

result = my_str.partition(separator)[0]
print(result)  # ????️ 'fql'

result = ''.join(my_str.partition(separator)[0:2])
print(result)  # ????️ 'fql!'

str.partition 메소드는 제공된 구분 기호가 처음 나타날 때 문자열을 분할합니다.

이 메서드는 구분 기호 앞 부분, 구분 기호 뒤 부분, 구분 기호 뒤 부분의 세 가지 요소를 포함하는 튜플을 반환합니다.

my_str = 'fql!jiyik!com'
separator = '!'

# ????️ ('fql', '!', 'jiyik!com')
print(my_str.partition(separator))

문자열에서 구분 기호를 찾을 수 없는 경우 이 메서드는 문자열과 그 뒤에 빈 문자열 2개가 포함된 튜플을 반환합니다.

결과에 구분 기호를 포함해야 하는 경우 str.join() 메서드를 사용하여 첫 번째와 두 번째 목록 항목을 조인하세요.

my_str = 'fql!jiyik!com'
separator = '!'

result = ''.join(my_str.partition(separator)[0:2])
print(result)  # ????️ 'fql!'

str.join 메서드는 반복 가능 항목을 인수로 사용하고 반복 가능 항목의 문자열을 연결한 문자열을 반환합니다.

이 메서드가 호출되는 문자열은 요소 간의 구분 기호로 사용됩니다.

Python에서 문자열의 문자 앞의 모든 항목을 삭제합니다

문자열의 문자 앞의 모든 항목을 삭제하려면:

  • 문자의 인덱스를 얻으려면 str.find() 메서드를 사용하세요.

  • 문자열 슬라이싱을 사용하고 시작 인덱스를 문자의 인덱스로 설정합니다.

  • 새 문자열에는 이전 문자가 포함되지 않습니다.

my_str = 'apple, banana'

result = my_str[my_str.find('b'):]
print(result)  # ????️ banana

str.find 메서드는 문자열에서 제공된 하위 문자열이 처음 나타나는 인덱스를 반환합니다.

문자열 슬라이싱을 사용하여 문자의 인덱스부터 시작하여 문자열 끝까지 이어지는 원본 문자열의 일부를 가져옵니다.

문자열에서 하위 문자열을 찾을 수 없으면 str.find() 메서드는 -1을 반환한다는 점에 유의하세요.

문자가 존재하지 않는 시나리오 처리

if/else 문에서 find() 메서드가 -1을 반환하는 경우를 처리할 수 있습니다.

my_str = 'apple, banana'

index = my_str.find('b')
print(index) # ????️ 7

if index != -1:
    result = my_str[index:]
else:
    result = my_str
    # ????️ alternatively raise an error

print(result) # ????️ 'banana'

제공된 문자가 문자열에 없는 경우의 예입니다.

my_str = 'apple, banana'

index = my_str.find('z')
print(index)  # ????️ -1

if index != -1:
    result = my_str[index:]
else:
    result = my_str
    # ????️ alternatively raise an error

print(result)  # ????️ 'apple, banana'

else 문은 결과 변수를 전체 문자열에 할당하지만 예외가 발생할 수 있습니다.

my_str = 'apple, banana'

index = my_str.find('z')
print(index)  # ????️ -1

if index != -1:
    result = my_str[index:]
else:
    # ????️ this runs
    raise IndexError('provided character not in string')

마지막 문자가 나타나기 전의 모든 것을 삭제하세요

마지막 문자가 나타나기 전의 모든 것을 삭제해야 한다면 str.rfind() 메소드를 사용하세요.

my_str = 'apple,banana,bear'

result = my_str[my_str.rfind('b'):]

print(result) # ????️ 'bear'

str.rfind 메소드는 제공된 하위 문자열이 발견된 문자열에서 가장 높은 인덱스를 반환합니다.

문자열에 하위 문자열이 포함되어 있지 않으면 이 메서드는 -1을 반환합니다.

if/else 문을 사용하면 문자열에 해당 문자가 없는 상황을 처리할 수 있습니다.

my_str = 'apple,banana,bear'

index = my_str.rfind('b')

if index != -1:
    result = my_str[index:]
else:
    result = my_str

print(result)  # ????️ 'bear'

else 블록이 실행되면 결과 변수를 전체 문자열로 설정합니다.

또는 else 블록에서 오류를 발생시킬 수 있습니다(예: IndexError('여기에 메시지가 표시됨') 발생).

str.rsplit() 메서드를 사용하여 마지막 문자 이전의 모든 항목을 제거할 수도 있습니다.

rsplit()를 사용하여 마지막 문자 발생 이전의 모든 항목을 제거합니다.

문자의 마지막 발생 이전의 모든 항목을 제거하려면:

  • str.rsplit() 메서드를 사용하여 문자열을 오른쪽에서 분할합니다.

  • 인덱스 1의 목록 항목에 액세스합니다.

  • 결과는 해당 문자가 마지막으로 나타난 이후의 모든 내용을 포함하는 문자열이 됩니다.

my_str = 'example.com/articles/python'

result = my_str.rsplit('/', 1)[1]
print(result)  # ????️ 'python'

# ????️ 如果你想在结果中包含这个字符
result_2 = '/' + my_str.rsplit('/', 1)[1]
print(result_2)  # ????️ '/python'

# ????️ ['example.com/articles', 'python']
print(my_str.rsplit('/', 1))

마지막 문자가 나타나기 전에 str.rsplit() 메서드를 사용하여 모든 것을 제거합니다.

str.rsplit 메소드는 제공된 구분 기호를 구분 기호 문자열로 사용하여 문자열의 단어 목록을 반환합니다.

my_str = 'one two three'

print(my_str.rsplit(' '))  # ????️ ['one', 'two', 'three']
print(my_str.rsplit(' ', 1))  # ????️ ['one two', 'three']

이 메서드는 다음 2개의 매개 변수를 사용합니다.

  • separator는 구분 기호가 나타날 때마다 문자열을 하위 문자열로 분할합니다.

  • maxsplit은 최대 분할, 가장 오른쪽 분할을 수행합니다(선택 사항)

rsplit() 오른쪽에서 분할하는 것을 제외하고는 분할()처럼 동작합니다.

请注意 ,我们为 maxsplit 参数提供了值 1,因为我们只想从右侧拆分字符串一次。

my_str = 'example.com/articles/python'

result = my_str.rsplit('/', 1)[1]
print(result)  # ????️ 'python'

# ????️ ['example.com/articles', 'python']
print(my_str.rsplit('/', 1))

最后一步是访问索引 1 处的列表元素,以获取包含指定字符最后一次出现之后的所有内容的字符串。

如果要在结果中包含该字符,请使用加法 + 运算符。

my_str = 'example.com/articles/python'

result = '/' + my_str.rsplit('/', 1)[1]
print(result)  # ????️ '/python'

使用 rpartition() 删除字符最后一次出现之前的所有内容

或者,我们可以使用 str.rpartition() 方法。

my_str = 'example.com/articles/python'

result = my_str.rpartition('/')[2]
print(result)  # ????️ 'python'

# ????️ ('example.com/articles', '/', 'python')
print(my_str.rpartition('/'))

str.rpartition 方法在提供的分隔符的最后一次出现处拆分字符串。

该方法返回一个包含 3 个元素的元组 - 分隔符之前的部分、分隔符和分隔符之后的部分。

如果在字符串中找不到分隔符,则该方法返回一个包含两个空字符串的元组,后跟字符串本身。

如果需要在结果中包含分隔符,请使用 str.join() 方法连接第二个和第三个列表项。

my_str = 'example.com/articles/python'

result = ''.join(my_str.rpartition('/')[1:])
print(result)  # ????️ '/python'

str.join 方法将一个可迭代对象作为参数并返回一个字符串,该字符串是可迭代对象中字符串的串联。

调用该方法的字符串用作元素之间的分隔符。

위 내용은 Python에서 지정된 문자 앞이나 뒤의 모든 것을 삭제하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제