我有代码从binary.Read()
中的字符串中找出子字符串,请帮忙!
我找到子字符串Swift
的代码是: -
http://corbpl.com/groupinfo.php?show=95
答案 0 :(得分:3)
您应该保留原始的Objective-C代码来说明您想要做什么。 (我的意思是你的帖子应该包含原始代码,以及你到目前为止所做的事情。)
你的输入字符串应该是这样的字符串文字:
var aString = "href=\"http://www.corpbpl.com/groupinfo.php?show=95\" onmousedown=\"uaction(this,{up:'90de%=%Nofi7rO6B&l=8upb1p&E%=6&ex=jXTDh5zYQLa9&})\""
在Swift 2中:
if let
hashtag = aString.rangeOfString("http://"),
word = aString.rangeOfString("95", range: hashtag.startIndex..<aString.endIndex)
{
let hashtagWord = aString[hashtag.startIndex..<word.endIndex]
print(hashtagWord) //->http://www.corpbpl.com/groupinfo.php?show=95
}
在Swift 3中:
if
let hashtag = aString.range(of: "http://"),
let word = aString.range(of: "95", range: hashtag.lowerBound..<aString.endIndex)
{
let hashtagWord = aString[hashtag.lowerBound..<word.upperBound]
print(hashtagWord) //->http://www.corpbpl.com/groupinfo.php?show=95
}
一些观点:(使用Swift 2术语)
Swift String的rangeOfString(_:)
方法返回Range<String.Index>
,而不是NSRange
。
您无法将结果分配到NSRange
。
返回的startIndex
的{{1}}指向找到的第一个字符,返回的Range
的{{1}}指向找到的最后一个字符的旁边
endIndex
方法(在上面的代码中看似Range
)更适合在一定范围内搜索字符串,而不是创建子字符串。
答案 1 :(得分:3)
Swift 2.x
mo
输出:
var aString = "href=http://www.corpbpl.com/groupinfo.php?show=95 onmousedown=uaction(this,{up:'90de%=%Nofi7rO6B&l=8upb1p&E%=6&ex=jXTDh5zYQLa9&});"
var hashtag = aString.rangeOfString("http://")
var word = aString.rangeOfString("95")
var hashtagWord = aString.substringWithRange(Range<String.Index>(start: hashtag!.startIndex.advancedBy(0), end: word!.endIndex.advancedBy(0)))
print(hashtagWord)
答案 2 :(得分:3)
试试这个,
Stream