I have the following string:
str1 = "cat-one,cat2,cat-3";
OR
str1 = "c开发者_高级运维atone,cat-2,cat3";
OR
str1 = "catone";
OR
str1 = "cat-one";
The point here is words may/may not have "-"s in it
Using regex: How could I extract the 1st word?
Appreciate any help on this.
Thanks, L
It's pretty easy, just include allowed characters in brackets:
^([\w\-]+)
An approach not using a regex: assuming the first word is delimited always by a comma "," you can do this:
var str1 = "cat-one";
var i = str1.indexOf(",");
var firstTerm = i == -1 ? str1 : str1.substring(0, i);
Edit: Assumed this was a javascript question, for some reason.
If someone, one day would like to do it in Swift here you go with an extension :
extension String {
    func firstWord() -> String? {
        var error : NSError?
        let internalExpression = NSRegularExpression(pattern: "^[a-zA-Z0-9]*", options: .CaseInsensitive, error: &error)!
        let matches = internalExpression.matchesInString(self, options: nil, range:NSMakeRange(0, countElements(self)))
        if (matches.count > 0) {
            let range = (matches[0] as NSTextCheckingResult).range
            return (self as NSString).substringWithRange(range)
        }
        return nil
    }
}
To use it just write:
myString.firstWord()
 
         
                                         
                                         
                                         
                                        ![Interactive visualization of a graph in python [closed]](https://www.devze.com/res/2023/04-10/09/92d32fe8c0d22fb96bd6f6e8b7d1f457.gif) 
                                         
                                         
                                         
                                         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论