Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

split string in python to get one value?

Need help, let's assume that I have a string 'Sam-Person' in a variable called 'input'

name, kind = input.split('-')

By doing the above, I get two variable with different strings 'Sam' and 'Person'

is there a way to only get the first value name = 'Sam' without the need of the extra variable 'kind' and without having to work with lists?

When doing this, assuming that I was going to get only 'Sam':

name = input.split('-')

I get a list, and then I can access the values by index name[0] or name[1], but it is not what I want, I just want to directly get 'Sam' into the variable 'name', is there a way to do that or an alternative to split?

like image 692
espktro Avatar asked Jul 01 '17 09:07

espktro


People also ask

How do you split a string by value in Python?

Python String split() MethodThe split() method splits a string into a list. You can specify the separator, default separator is any whitespace. Note: When maxsplit is specified, the list will contain the specified number of elements plus one.

How do you split a string into values?

Split is used to break a delimited string into substrings. You can use either a character array or a string array to specify zero or more delimiting characters or strings. If no delimiting characters are specified, the string is split at white-space characters.

How do I get only part of a string in Python?

Python has no substring methods like substring() or substr(). Instead, we use slice syntax to get parts of existing strings. Python slicing is a computationally fast way to methodically access parts of your data. The colons (:) in subscript notation make slice notation - which has the arguments, start, stop and step .


1 Answers

Assign the first item directly to the variable.

>>> string = 'Sam-Person'
>>> name = string.split('-')[0]
>>> name
'Sam'

You can specify maxsplit argument, because you want to get only the first item.

>>> name = string.split('-', 1)[0]
like image 185
falsetru Avatar answered Sep 23 '22 21:09

falsetru