Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
On 09/03/2017 at 22:23, xxxxxxxx wrote:
Hi there,
I want to split a String like "0123_456-Name_1438" and get the "Name_1438 ". My tryout was this:
s = "0123_456-Name_1438" for c in s: if int(c) : print c+" = ",int(c)," ",type(c) else: print c+" = ",type(c)
...a simple try if typecasting can be used to differenciate letters and numbers in a string.
The console tells: "ValueError: invalid literal for int() with base 10: 'N'" Do you have an idea how that can be solved in python?
edit: I found str.isdigit() that does the trick
On 10/03/2017 at 01:23, xxxxxxxx wrote:
Ok. that's how I solved it:
def stripLNumbers(s) : if s != False: num = -1 for c in s: num = num + 1 if c.isalpha() and c != "-" and c != "_": #Is there a more elegant way to exclude special characters? return s[num:]
On 10/03/2017 at 06:36, xxxxxxxx wrote:
So basicly you want all after "-"
If yes simply do
a = "0123_456-Name_1438" split = a.split("-") value = str() for string in split[1:]: value += string print value
But if you jsut want the text look about(google it) regex and re module in python
On 10/03/2017 at 07:19, xxxxxxxx wrote:
Couldn't it be done with a single split call?
a = "0123_456-Name_1438" prefix, name = a.split("-", 1)
On 10/03/2017 at 07:23, xxxxxxxx wrote:
Hahaha completly true ! Didn't know split can take two arguments...
But mine can take also one line
a = "0123_456-Name_1438" value = str().join(a.split("-")[1:]) print value
On 10/03/2017 at 10:51, xxxxxxxx wrote:
The condition is "at the first letter", not "after the first hyphen" Regex is probably the most simple solution.
import re def strip_numbers(s) : return re.search('[A-Za-z].*', s).group()
Or in plain python (very similar to gmak's solution)
def strip_numbers(s) : for i, c in enumerate(s) : if c.isalpha() : return s[i:] raise ValueError('no alphanumerical character in string {!r}'.format(s))
Cheers, -Niklas
On 13/03/2017 at 06:21, xxxxxxxx wrote:
THX! Nice one, NiklasR!