相关疑难解决方法(0)

将字符串拆分为具有多个单词边界分隔符的单词

我认为我想做的是一项相当普遍的任务,但我在网上找不到任何参考.我有带标点符号的文字,我想要一个单词列表.

"Hey, you - what are you doing here!?"
Run Code Online (Sandbox Code Playgroud)

应该

['hey', 'you', 'what', 'are', 'you', 'doing', 'here']
Run Code Online (Sandbox Code Playgroud)

但是Python str.split()只能使用一个参数,所以在用空格分割之后,我所有的单词都带有标点符号.有任何想法吗?

python string split

631
推荐指数
12
解决办法
63万
查看次数

如何在Python中将字符串转换为列表?

如何将字符串转换为列表?

说字符串就像text = "a,b,c".转换后,text == ['a', 'b', 'c']希望text[0] == 'a',text[1] == 'b'

python arrays string

106
推荐指数
8
解决办法
46万
查看次数

仅当未以特定模式包装时,才通过分隔符拆分字符串

我试图通过分隔符将一个字符串拆分成一个列表(让我们说,),但是在我的特定情况下,只有当它没有包裹在某个模式中时,才应将分隔符视为分隔符<>.IOW,当嵌入逗号时<>,它将被忽略为分隔符,变成一个不被分隔的常规字符.

所以,如果我有以下字符串:

"first token, <second token part 1, second token part 2>, third token"
Run Code Online (Sandbox Code Playgroud)

它应该分成

list[0] = "first token"
list[1] = "second token part 1, second token part 2"
list[2] = "third token"
Run Code Online (Sandbox Code Playgroud)

不用说,我不能只是做一个简单的分裂,,因为这将第二令牌拆分成两个标记,second token part 1并且second token part 2,因为他们有一个逗号在它们之间.

我应该如何定义使用它的模式Python RegEx

python regex

6
推荐指数
2
解决办法
1179
查看次数

如何拆分字符串中的两个项目?

使用.read()读取文件,我将如何同时对两个物体分开?我试图同时拆分逗号,"\n"但是当我首先拆分逗号时,它会将我的字符串变成一个列表,在其中我无法再次拆分。

这是我试图拆分的字符串:

'States, Total Score, Critical Reading, Mathematics, Writing, Participation (%)\nWashington,1564,524,532,508,41.2000\nNewHampshire,1554,520,524,510,64.0000\nMassachusetts,1547,512,526,509,72.1000\nOregon,1546,523,524,499,37.1000\nVermont,1546,519,512,506,64.0000\nArizona,1544,519,525,500,22.4000\nConnecticut,1536,509,514,513,71.2000\nAlaska,1524,518,515,491,32.7000\nVirginia,1521,512,512,497,56.0000\nCalifornia,1517,501,516,500,37.5000\nNewJersey,1506,495,514,497,69.0000\nMaryland,1502,501,506,495,56.7000\nNorthCarolina,1485,497,511,477,45.5000\nRhodeIsland,1477,494,495,488,60.8000\nIndiana,1476,494,505,477,52.0000\nFlorida,1473,496,498,479,44.7000\nPennsylvania,1473,492,501,480,62.3000\nNevada,1470,496,501,473,25.9000\nDelaware,1469,493,495,481,59.2000\nTexas,1462,484,505,473,41.5000\nNewYork,1461,484,499,478,59.6000\nHawaii,1458,483,505,470,47.1000\nGeorgia,1453,488,490,475,46.5000\nSouthCarolina,1447,484,495,468,40.7000\nMaine,1389,468,467,454,87.1000\nIowa,1798,603,613,582,2.7000\nMinnesota,1781,594,607,580,6.0000\nWisconsin,1778,595,604,579,3.8000\nMissouri,1768,593,595,580,3.6000\nMichigan,1766,585,605,576,3.8000\nSouthDakota,1766,592,603,571,2.0000\nIllinois,1762,585,600,577,4.6700\nKansas,1752,590,595,567,4.7000\nNebraska,1746,585,593,568,3.9000\nNorthDakota,1733,580,594,559,3.4000\nKentucky,1713,575,575,563,5.0000\nTennessee,1712,576,571,565,6.4000\nColorado,1695,568,572,555,14.1000\nArkansas,1684,566,566,552,3.5000\nOklahoma,1684,569,568,547,3.8000\nWyoming,1683,570,567,546,3.6000\nUtah,1674,568,559,547,4.5000\nMississippi,1666,566,548,552,2.2000\nLouisiana,1652,555,550,547,4.0000\nAlabama,1650,556,550,544,5.4000\nNewMexico,1636,553,549,534,7.1000\nOhio,1609,538,548,522,17.2000\nIdaho,1601,543,541,517,14.6000\nMontana,1593,538,538,517,20.0000\nWest Virginia,1522,515,507,500,13.2000\n'

python string split list

1
推荐指数
1
解决办法
432
查看次数

拆分字符串中的多个字符

我有一个文件名列表,需要根据字符串中的某个部分进行排序。但是,它仅在我将文件扩展名作为排序字典的一部分时才有效。如果文件是 .jpg 或 .png,我希望它可以工作,所以我试图在 '_' 和 '.' 上进行拆分。特点。

sorting = ['FRONT', 'BACK', 'LEFT', 'RIGHT', 'INGREDIENTS', 'INSTRUCTIONS', 'INFO', 'NUTRITION', 'PRODUCT']

filelist = ['3006345_2234661_ENG_PRODUCT.jpg', '3006345_2234661_ENG_FRONT.jpg', '3006345_2234661_ENG_LEFT.jpg', '3006345_2234661_ENG_RIGHT.jpg', '3006345_2234661_ENG_BACK.jpg', '3006345_2234661_ENG_INGREDIENTS.jpg', '3006345_2234661_ENG_NUTRITION.jpg', '3006345_2234661_ENG_INSTRUCTIONS.jpg', '3006345_2234661_ENG_INFO.jpg']

sort = sorted(filelist, key = lambda x : sorting.index(x.re.split('_|.')[3]))

print(sort)
Run Code Online (Sandbox Code Playgroud)

这将返回错误“AttributeError: 'str' object has no attribute 're'”

我需要做什么才能在 _ 和 . 拆分我的字符串进行排序时?我只想使用拆分进行排序,而不是重新形成字符串。

python regex string split attributeerror

0
推荐指数
1
解决办法
211
查看次数

标签 统计

python ×5

string ×4

split ×3

regex ×2

arrays ×1

attributeerror ×1

list ×1