从字符串中删除不同类型的双引号?
Removing different types of double quotes from string?
我有一个名称列表,其中的尺寸以英寸为单位。如:
Asus VP248QG 24''
BenQ XYZ123456 32"
如您所见,名字有表示英寸的双单引号,而名字有正常的双引号。
我有删除这些尺寸的代码,因为我不需要它们:
def monitor_fix(s):
if ('"' in s):
return re.sub(r'\s+\d+(?:\.\d+)"\s*$', '', str(s))
if ("''" in s):
return re.sub(r"\s+\d+(?:\.\d+)''\s*$", '', str(s))
但是只是去掉了普通的双引号,双单引号没有。如何处理?
您可以使用 string[:]
简单地删除最后 4 - 5 个符号
list = ["Asus VP248QG 24''", 'BenQ XYZ123456 32"']
for i in range(len(list)):
if "''" in list[i]:
list[i] = list[i][:-5]
if '"' in list[i]:
list[i] = list[i][:-4]
print(list[i])
假设大小总是用空格分隔开,我们可以简单地删除包含引号的 "word"。奖励点,因为大小也可以在字符串中的任何位置。
products = ["Asus VP248QG 24'' silver", 'BenQ XYZ123456 32"']
for n, product in enumerate(products):
product_without_size = ""
for word in product.split(" "):
if not("''" in word or '"' in word): # If the current word is not a size,
product_without_size += word + " " # add it to the product name (else skip it).
products[n] = product_without_size.rstrip(" ")
print(products) # ['Asus VP248QG silver', 'BenQ XYZ123456']
使用原始 post 的格式,它看起来像这样:
def monitor_fix(product):
product_without_size = ""
for word in product.split(" "):
if not("''" in word or '"' in word): # If the current word is not a size,
product_without_size += word + " " # add it to the product name (else skip it).
return product_without_size.rstrip(" ")
我有一个名称列表,其中的尺寸以英寸为单位。如:
Asus VP248QG 24''
BenQ XYZ123456 32"
如您所见,名字有表示英寸的双单引号,而名字有正常的双引号。
我有删除这些尺寸的代码,因为我不需要它们:
def monitor_fix(s):
if ('"' in s):
return re.sub(r'\s+\d+(?:\.\d+)"\s*$', '', str(s))
if ("''" in s):
return re.sub(r"\s+\d+(?:\.\d+)''\s*$", '', str(s))
但是只是去掉了普通的双引号,双单引号没有。如何处理?
您可以使用 string[:]
简单地删除最后 4 - 5 个符号list = ["Asus VP248QG 24''", 'BenQ XYZ123456 32"']
for i in range(len(list)):
if "''" in list[i]:
list[i] = list[i][:-5]
if '"' in list[i]:
list[i] = list[i][:-4]
print(list[i])
假设大小总是用空格分隔开,我们可以简单地删除包含引号的 "word"。奖励点,因为大小也可以在字符串中的任何位置。
products = ["Asus VP248QG 24'' silver", 'BenQ XYZ123456 32"']
for n, product in enumerate(products):
product_without_size = ""
for word in product.split(" "):
if not("''" in word or '"' in word): # If the current word is not a size,
product_without_size += word + " " # add it to the product name (else skip it).
products[n] = product_without_size.rstrip(" ")
print(products) # ['Asus VP248QG silver', 'BenQ XYZ123456']
使用原始 post 的格式,它看起来像这样:
def monitor_fix(product):
product_without_size = ""
for word in product.split(" "):
if not("''" in word or '"' in word): # If the current word is not a size,
product_without_size += word + " " # add it to the product name (else skip it).
return product_without_size.rstrip(" ")