Python regular expression (matching in list) [duplicate] - python

This question already has an answer here:
Reference - What does this regex mean?
(1 answer)
Closed 2 years ago.
Looking to extract only 7 digit numbers from this list that starts with the distance matrix, nothing after the underscore
The list:
['data_train_3366094.dump','agile_234444.pkl','distanceMatrix_1517144.dump', 'distanceMatrix_3366094_1.dump']
expecting output: 1517144 , 3366094

My guess is to explode(), separating with _ and .
Then match for numeric value

Related

How to check a string contains 3 dots in python [duplicate]

This question already has answers here:
Count the number of occurrences of a character in a string
(26 answers)
Closed 10 months ago.
eg: "ABC.sample.int.int01" like that, only want to check this string contains 3 dots.
Thanks
You can check it like this, with count attribute of str in python. If it is equal to 3, then your strings actually contains exactly 3 dots.
if 'ABC.sample.int.int01'.count('.') == 3:
...
else:
...

Is there any way to count the number of times a string is present in another given string? [duplicate]

This question already has answers here:
String count with overlapping occurrences [closed]
(25 answers)
Closed 1 year ago.
I tried to create a program which returns the number of times a certain string occurs in the main string.
main_string="ABCDCDC"
find_string="CDC"
print(main_string.count(find_string))
Output=1
....
But there are 2 CDC. Is there any other ways to solve?
Try using regex:
print(len(re.findall(fr"(?={find_string})", main_string)))
Or try using this list comprehension:
x = len(find_string)
print(len([main_string[i:x + i] for i in range(len(main_string)) if main_string[i:x + i] == find_string]))
Both codes output:
2

How to split a number string using a comma in every 3rd digit from the right [duplicate]

This question already has answers here:
How to print a number using commas as thousands separators
(30 answers)
Add commas into number string [duplicate]
(11 answers)
What's the easiest way to add commas to an integer? [duplicate]
(4 answers)
Adding thousand separator while printing a number [duplicate]
(2 answers)
Closed 2 years ago.
A beginner here! Can I ask how to split a number string in every 3rd digit from the right and put a comma in between and do it again.
>>>num = '12550'
how can I make that into this
>>>12,550
You can use this neat trick:
num = 123456789
print ("{:,.2f}".format(num))
which outputs:
123,456,789.00
If you don't want the decimal places just use:
print ("{:,}".format(num))

Regex confusion in python [duplicate]

This question already has answers here:
Reference - What does this regex mean?
(1 answer)
Regular expression: zero or more occurrences of optional character /
(1 answer)
Closed 4 years ago.
if i set the variable a to
a = "6253625879615786"
if i use the regex statement
print(re.findall(r'^[456][0-9]{15}[^,_]',a))
I do not get any output but if i use the regex statement with the * at the end to 0 or 1 times
print(re.findall(r'^[456][0-9]{15}[^,_]*',a))
Why is this?

Is str.count() wrong? [duplicate]

This question already has answers here:
String count with overlapping occurrences [closed]
(25 answers)
How String.count() works? [duplicate]
(2 answers)
Python string count not working properly? [duplicate]
(2 answers)
Closed 4 years ago.
I'm having fun with some challenges and one of them makes me count substrings in a string. I have a problem specifically with "banana":
str = "banana"
print(str.count("ana"))
This should return 2 because "ana" appears two times:
b a n a n a
a n a
a n a
But str.count("ana") returns only 1. I've also tried with regexp:
import re
str = "banana"
print(len(re.findall("ana", str)))
But it also returns 1. Am I missing something?
thank you!
Yes, you are missing something.
str.count(): Return the number of (non-overlapping) occurrences of substring sub in string s

Categories