Kotlin extract letters and keep only numbers in a String [closed] - kotlin

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 1 year ago.
Improve this question
I have a string that is "M456456" for example, and i need to keep only the numbers. So the ouput has to be "456456"
How can i achieve this in Kotlin?

"M456456".filter(Char::isDigit)

"M456456".filter {it in '0'..'9'}

Use a regex replacement and remove all non digit characters:
val regex = """[^0-9]""".toRegex()
val input = "M456456"
val output = regex.replace(input, "")
println(output) // 456456

Related

Get random position from String based on condition [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 1 year ago.
Improve this question
I have one String variable like this:
var data = "FFFTTFFFT"
I want to get random position of 'T' present inside above String for which I am doing like this.
for (i in data.indices) {
if (data [i] == 'T') someList.add(i)
}
then
var randPos = someList.random()
I am able to do it using loop but I want to do it in idiomatic way in
Kotlin.
Shortest solution IMO:
val tIndices = data.mapIndexedNotNull { i, c -> i.takeIf { c == 'T' } }

Shorten and change existing code in Kotlin [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 1 year ago.
Improve this question
I need to make a shorter version of the code below:
val y = 42
val x = "Score" + (y + 4).toString ()
Thank you in advance
You may use string interpolation:
val x = "Score${y + 4}"

How to idiomatically format .apply{} in Kotlin? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this question
This might seem a little trivial, but since we read more code than we write, I want to know which of these versions looks nicer and more readable for you
private val VALUES by lazy {
mutableListOf<Value>().apply {
add(VALUE_1)
add(VALUE_2)
add(VALUE_3)
}
}
OR
private val VALUES by lazy {
mutableListOf<Value>()
.apply {
add(VALUE_1)
add(VALUE_2)
add(VALUE_3)
}
}
In other words, should we care that the method (.apply) be on the same line as the caller, or the ending curly bracket to be aligned with the (.apply) method?
As per https://kotlinlang.org/docs/reference/coding-conventions.html
Chained call wrapping
When wrapping chained calls, put the . character or the ?. operator on the next line, with a single indent:
val anchor = owner
?.firstChild!!
.siblings(forward = true)
.dropWhile { it is PsiComment || it is PsiWhiteSpace }
The first call in the chain usually should have a line break before it, but it's OK to omit it if the code makes more sense that way.
So it's up to you :)

Convert UID null-termintated string binary to hex [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 9 years ago.
Improve this question
Here is the question which is Re Phrased.
Here is the raw binary data, hex encoded, which i need as a output:
040000008200E00074C5B7101A82E0080000000000000000000000000000000000000000310000007643616C2D5569640100000033353335324538372D343338462D343444362D413432462D37393942423334313033333800
I can extract some part of the raw data i.e.(040000008200E00074C5B7101A82E0080000000000000000000000000000000000000000310000007643616C2D55696401000000) from the object which i am getting from the micro soft outlook.
The Rest of the part that is
33353335324538372D343338462D343444362D413432462D373939424233343130333338 is the conversion of the UID : 373D06E9-587E-4930-B846-12500FF1AC2F.
So My question here is how to convert the above UID i.e 373D06E9-587E-4930-B846-12500FF1AC2F to this format 33353335324538372D343338462D343444362D413432462D373939424233343130333338 using objective C or cocoa.
Thanks in Advance.
You should look here:
https://developer.apple.com/library/mac/documentation/corefoundation/Reference/CFUUIDRef/Reference/reference.html#//apple_ref/c/func/CFUUIDCreateFromString
CFUUIDCreateFromString() appears to be the API you are looking for. Assuming that CFUUID is the "binary format" you are searching for.
If you then want "raw bytes", look at CFUUIDGetUUIDBytes()

FormatCurrency output [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 9 years ago.
Improve this question
Assuming sngX = 67521.345, What will be displayed when the line of code:
Label1.Text = FormatCurrency(sngX)
is executed.
Assuming that your system regional settings currency sign is $, leading digits is false, and digit grouping is false, then FormatCurrency(67521.345) = $67,521.35
Since you haven't specified your regional settings, and haven't said that you want to use specific values for the other FormatCurrency parameters, your results may vary.