Ios 如何截断字符串中的字符?
这里我只需要截断Ios 如何截断字符串中的字符?,ios,swift,Ios,Swift,这里我只需要截断https中的s字母,有人能帮我从下面的字符串中截断吗 https://192.168.1.11/magento2/pub/media/ewl_bannerslider/slides/5.jpg 借助swift2以后提供的方法,很容易替换字符串中的文本 let originalStr = "https://192.168.1.11/magento2/pub/media/ewl_bannerslider/slides/5.jpg" let finalStr = originalS
https
中的s
字母,有人能帮我从下面的字符串中截断吗
https://192.168.1.11/magento2/pub/media/ewl_bannerslider/slides/5.jpg
借助swift2以后提供的方法,很容易替换字符串中的文本
let originalStr = "https://192.168.1.11/magento2/pub/media/ewl_bannerslider/slides/5.jpg"
let finalStr = originalStr.replacingOccurrences(of: "https", with: "http")
print(finalStr)
选项2
let str = "https://192.168.1.11/magento2/pub/media/ewl_bannerslider/slides/5.jpg"
if str.utf16.count >= 5{
let a = str.index(str.startIndex, offsetBy: 5)
let result = String(str[..<a])
let replaced = str.replacingOccurrences(of: result, with: "http")
print(replaced)
}else{
//lenght in shorter
}
借助swift2以后提供的方法,很容易替换字符串中的文本
let originalStr = "https://192.168.1.11/magento2/pub/media/ewl_bannerslider/slides/5.jpg"
let finalStr = originalStr.replacingOccurrences(of: "https", with: "http")
print(finalStr)
选项2
let str = "https://192.168.1.11/magento2/pub/media/ewl_bannerslider/slides/5.jpg"
if str.utf16.count >= 5{
let a = str.index(str.startIndex, offsetBy: 5)
let result = String(str[..<a])
let replaced = str.replacingOccurrences(of: result, with: "http")
print(replaced)
}else{
//lenght in shorter
}
您实际想要的是在URL字符串中将方案从“https”更改为“http”。可以使用
URLComponents
类型安全地操作URL:
var urlString = "https://192.168.1.11/magento2/pub/media/ewl_bannerslider/slides/5.jpg"
if var urlComponents = URLComponents(string: urlString), urlComponents.scheme == "https" {
urlComponents.scheme = "http"
urlString = urlComponents.string!
}
print(urlString)
// http://192.168.1.11/magento2/pub/media/ewl_bannerslider/slides/5.jpg
如果您打算创建一个URL请求,那么您不需要
已修改的字符串,但只有更改方案的URL(请求)
:
let urlString = "https://192.168.1.11/magento2/pub/media/ewl_bannerslider/slides/5.jpg"
guard var urlComponents = URLComponents(string: urlString) else {
// ... invalid URL string, bail out ...
}
if urlComponents.scheme == "https" {
urlComponents.scheme = "http"
}
guard let url = urlComponents.url else {
// ... invalid URL, bail out ...
}
let request = URLRequest(url: url)
// ...
您实际想要的是在URL字符串中将方案从“https”更改为“http”。可以使用
URLComponents
类型安全地操作URL:
var urlString = "https://192.168.1.11/magento2/pub/media/ewl_bannerslider/slides/5.jpg"
if var urlComponents = URLComponents(string: urlString), urlComponents.scheme == "https" {
urlComponents.scheme = "http"
urlString = urlComponents.string!
}
print(urlString)
// http://192.168.1.11/magento2/pub/media/ewl_bannerslider/slides/5.jpg
如果您打算创建一个URL请求,那么您不需要
已修改的字符串,但只有更改方案的URL(请求)
:
let urlString = "https://192.168.1.11/magento2/pub/media/ewl_bannerslider/slides/5.jpg"
guard var urlComponents = URLComponents(string: urlString) else {
// ... invalid URL string, bail out ...
}
if urlComponents.scheme == "https" {
urlComponents.scheme = "http"
}
guard let url = urlComponents.url else {
// ... invalid URL, bail out ...
}
let request = URLRequest(url: url)
// ...
请尝试以下代码段:
let tmpStr = "https://192.168.1.11/magento2/pub/media/ewl_bannerslider/slides/5.jpg"
let modifiedStr = tmpStr.replace("https", withString:"http")
extension String
{
func replace(target: String, withString: String) -> String
{
return self.replacingOccurrences(of: target, with: withString, options: NSString.CompareOptions.literal, range: nil)
}
}
请尝试以下代码段:
let tmpStr = "https://192.168.1.11/magento2/pub/media/ewl_bannerslider/slides/5.jpg"
let modifiedStr = tmpStr.replace("https", withString:"http")
extension String
{
func replace(target: String, withString: String) -> String
{
return self.replacingOccurrences(of: target, with: withString, options: NSString.CompareOptions.literal, range: nil)
}
}
请注意,如果字符串中碰巧有另一个
https
实例,那么它也将被更改,而不仅仅是一开始的实例。我可以知道下一票的原因吗?答案有多种方式,如果我犯了错误,最好更新我的下一票,但请注意,您的两个解决方案都将替换所有出现的“https”在字符串中由“http”组成,不只是初始方案部分。例如,”https://192.168.1.11/https/5.jpg“
变为”http://192.168.1.11/http/5.jpg“
,这可能不是有意的。请注意,如果字符串中碰巧有另一个https
实例,它也将被更改,而不仅仅是一开始的实例。我可以知道否决的原因吗,答案有多种方式,如果我犯了错误,最好更新我的下一票,但请注意,您的两种解决方案都会将字符串中出现的所有“https”替换为“http”,而不仅仅是初始方案部分。例如,”https://192.168.1.11/https/5.jpg“
变为”http://192.168.1.11/http/5.jpg“
,这可能不是故意的。不要把URL
s看作String
s。你认为汽车的水平螺母和螺栓?当您处于错误的抽象级别时,简单的操作(将url的方案从http
更改为https
)会变得更加困难(请考虑String
,而不是url
)。你认为汽车的水平螺母和螺栓?当您处于错误的抽象级别时,简单的操作(将url的方案从http
更改为https
)会变得更加困难(请考虑String
,而不是url
)。