How to replace spaces in string with underscore [duplicate] - swift

This question already has answers here:
Any way to replace characters on Swift String?
(23 answers)
Closed 5 years ago.
Alright, so I am pulling weather data into my app, and in order to pull the location based api url, I have to insert the city and the shorthand state (i.e. CA, MO, NY, ... etc.) into the api url. I am able to get both the city and shorthand state, the problem is any spaces in the city need to be formatted as underscores, such as that New York has to equal New_York. How do I go about doing this? The city name is in a String format. I already see answers on Stack Overflow, but none are Swift 4.

Proper implementation is the exact same as Swift 3:
let str = "New York"
let replaced = str.replacingOccurrences(of: " ", with: "_")

Related

How to declare keyword variable in Swift [duplicate]

This question already has an answer here:
Can we use keywords as parameter names in SWIFT?
(1 answer)
Closed 4 years ago.
I am a new iOS programming. I am creating a sample app which get data and set data using Firestore. For the collection contains some documents which and named those properties like extension... So in programming I need to create variable with that name extension in order to set data to Firestore but Xcode is warning me that I don't have to declare that variable name.
I have been trying to figure it out but not work. So, I decided to ask my own question if there any technique to delacre variable name which is warning by Xcode.
var `extension`: String?
var username: String?
init(`extension`: String, username: String) {
self.`extension` = `extension`
self.username = username
}
I think this will work by using ``.

Accessing values - Swift [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 4 years ago.
Improve this question
You are given a dictionary crypt of type [String:String] which has values for all lowercase letters. The crypt dictionary represents a way to encode a message. For example, if crypt["h"] = "#" and crypt["i"] = "!" the encoded version of the message "hi" will be "#!".
The thing is that i have to Write code that would take any string containing only lower case letters and spaces and encode it using the crypt dictionary. I have successfully failed trying to write the code so i ended up just using a single print statement
//print(crypt["h"]!,crypt["i"]!).
If you have any idea you would like to share, please do so.
Thank you
Does this do what you're looking for:
let message = "hi"
let encryptedMessage = message.map { crypt[String($0)]! }.joined()
If you're unfamiliar with it, mapping a string iterates through each character, doing something to it, and returning that string. $0 refers to the first parameter (in this case #1 of 1, but 0-indexed).
As Dopapp suggests, map is the most elegant solution. If you want to see the steps broken out a bit, you can do it the long way.
var message = "hi"
var crytpedMessage = ""
for char in message {
let newChar = crypt[String(char)]
cryptedMessage.append(newChar)
}

check URL text as a string in Xcode [duplicate]

This question already has answers here:
How to check what a String starts with (prefix) or ends with (suffix) in Swift
(2 answers)
Closed 5 years ago.
I have a Text Field that a user can use to enter their LinkedIn URL. However, I don't want the user to be able to just enter any URL they want so how can I check that the string they entered exactly starts with
https://www.linkedin.com/in/...
You can use String's hasPrefix function:
if textField.text.hasPrefix("https://www.linkedin.com/in") {
print("string starts with https://www.linkedin.com/in")
} else {
print("string does not start with https://www.linkedin.com/in")
}

Remove first character from string [duplicate]

This question already has answers here:
What is the most succinct way to remove the first character from a string in Swift?
(13 answers)
Closed 5 years ago.
I have this code:
func barcodeData(_ barcode: String!, type: Int32) {
referenceField.text = barcode!
}
When I scan a barcode the textfield is replaced by it. It's always an "R" in the beginning of the barcode followed by some digits.
I want the textfield to display only the numbers. So if the barcode scanned is "R454512" I want the textfield to show only "454512"
Could someone explain this to me? I'm pretty new in this barcode-world.
I don't have any values yet so how am I supposed to use this?
Thanks
Another way to do this is with a characterSet. This way if there are more letters or spaces at the start or end of the string, you will get the correct result:
barcode.trimmingCharacters(in: CharacterSet.decimalDigits.inverted)

JSON string splitting / parsing [duplicate]

This question already has answers here:
iPhone/iOS JSON parsing tutorial [closed]
(6 answers)
Closed 9 years ago.
I have a string that looks like this:
"[{"ImageTagID":78,"Xpixel":408,"Ypixel":69,"Xpercent":17,"Ypercent":68,"ImageID":45617}]"
How do i break it up to pieces?
Thanks,
This is a dictionary. There are keys and values in a dictionary. If you need a particular value, you must get it using the key.
In iOS it is done this way,
int tagID = [yourdictionary objectForKey:#"ImageTagID"];
Hope this helps you start. If you have more questions, do ask me.
Splitting a string:
Example: NSArray *stringArray = [string componentsSeparatedByString: #","];