我有以下字符串:從字符串中提取的第一個字 - 正則表達式
str1 = "cat-one,cat2,cat-3";
OR
str1 = "catone,cat-2,cat3";
OR
str1 = "catone";
OR
str1 = "cat-one";
這裏的要點是的話可能/可能不會有「 - 」,它出現
使用正則表達式: 如何我能提取第一個單詞嗎?
欣賞這方面的任何幫助。
感謝, 大號
我有以下字符串:從字符串中提取的第一個字 - 正則表達式
str1 = "cat-one,cat2,cat-3";
OR
str1 = "catone,cat-2,cat3";
OR
str1 = "catone";
OR
str1 = "cat-one";
這裏的要點是的話可能/可能不會有「 - 」,它出現
使用正則表達式: 如何我能提取第一個單詞嗎?
欣賞這方面的任何幫助。
感謝, 大號
它很容易,只是包括括號中允許的字符:
^([\w\-]+)
不使用正則表達式的方法:假設第一個字是用逗號總是分隔「 」你可以這樣做:
var str1 = "cat-one";
var i = str1.indexOf(",");
var firstTerm = i == -1 ? str1 : str1.substring(0, i);
編輯:假設的日是一個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
}
}
要使用它只是寫:
myString.firstWord()
這所有字符匹配上升到第逗號:^ [^,] + – 2011-02-18 12:52:20
這是我試過(和工作!),並希望這是正確的: 警報(str.replace(/^([^,]+)(.*)?/,「$ 1 「)); – lshettyl 2011-02-18 13:23:39
如果真的所有你想做的事情,這將很好的工作:(。*)?在您的正則表達式警報(str.substring(0,str.indexOf( ''))) – 2011-02-18 14:11:08