首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从字符串中提取第一个单词- regex

从字符串中提取第一个单词- regex
EN

Stack Overflow用户
提问于 2011-02-18 20:48:01
回答 2查看 77.6K关注 0票数 30

我有以下字符串:

代码语言:javascript
复制
str1 = "cat-one,cat2,cat-3";
OR
str1 = "catone,cat-2,cat3";
OR
str1 = "catone";
OR
str1 = "cat-one";

这里的重点是单词中可能有/可能没有“-”

使用正则表达式:我如何提取第一个单词?

感谢大家在这方面的帮助。

谢谢,L

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-18 20:50:44

这很简单,只需在括号中包含允许的字符:

^([\w\-]+)

票数 68
EN

Stack Overflow用户

发布于 2015-01-31 10:52:25

如果有一天有人想在Swift中做这件事,你可以使用一个扩展:

代码语言:javascript
复制
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
    }
}

要使用它,只需编写:

代码语言:javascript
复制
myString.firstWord()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5041453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档