0

假设我有 www.GOOgle.com/.......

我想把它改成 www.google.com/....

并保持 url 的其余部分不变。

我试过了NSURLComponents,但没有用。

// I am taking input from textfield and making the nsurl.

 NSURLComponents *components = [NSURLComponents componentsWithString: _textfield.text]; // input from textfield
[[components host] lowercaseString];
 NSURL *urlin = [components URL]; //but this gives, www.GOOgle.com

任何线索表示赞赏。

4

3 回答 3

2

正如@Larme 建议的那样,您可以使用方法在 url 中设置主机

见下面的例子

NSURLComponents *components = [NSURLComponents componentsWithString: @"https://sTackoverFlow.com/questions/47924276/how-to-convert-host-of-nsurl-to-lowercase"]; 
[components setHost:[components.host lowercaseString] ]; 
NSLog(@"%@",components.URL)

H ttps://stackoverflow.com/questions/47924276/how-to-convert-host-of-nsurl-to-lowercase


笔记:

http://需要添加字符串,否则您将获得主机 nil 例如https://www.sTackoverFlow.com/questions/47924276/how-to-convert-host-of-nsurl-to-lowercase它会起作用

尽管

www.sTackoverFlow.com/questions/47924276/how-to-convert-host-of-nsurl-to-lowercase

不管用

于 2017-12-21T11:58:57.590 回答
0

如果你的字符串只是 url 那么你可以试试这个,

let strURL = "http://GOogLe.Com/Testt/xyz"
let url = NSURL(string: strURL)
let domain: String = (url?.host)! //get your host name
print(domain) //GOogLe.Com

let str = strURL.replacingOccurrences(of: domain, with: domain.lowercased())
print(str) //http://google.com/Testt/xyz
于 2017-12-21T12:05:40.163 回答
-1
  1. 将字符串转换为小写。
  2. 然后将转换后的字符串值传递给 componentsWithString 方法。

示例:NSString *lowerCaseStringValue = [_textfield.text lowercaseString]; [NSURLComponents componentsWithString: lowerCaseStringValue];

于 2017-12-21T11:51:09.110 回答