Skip to content

Commit ce4c8eb

Browse files
committed
Improve removeNoneNumeric() extension
1 parent 6b09b35 commit ce4c8eb

4 files changed

Lines changed: 18 additions & 14 deletions

File tree

.idea/misc.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/src/main/AndroidManifest.xml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,17 @@
2626
android:name=".MainActivity"
2727
android:exported="true">
2828

29-
</activity>
30-
31-
<activity
32-
android:name=".WebServerAct"
33-
android:exported="true">
3429
<intent-filter>
3530
<action android:name="android.intent.action.MAIN" />
3631
<category android:name="android.intent.category.LAUNCHER" />
3732
</intent-filter>
33+
3834
</activity>
3935

36+
<activity
37+
android:name=".WebServerAct"
38+
android:exported="true"></activity>
39+
4040
<activity
4141
android:name=".A3ViewsActivity"
4242
android:exported="true" />

app/src/main/java/ir/am3n/needtool/sample/MainActivity.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ class MainActivity : AppCompatActivity(), LifecycleObserver {
3131

3232
Log.d("Me-MainAct", "onCreate() isDataEnabled: $isDataEnabled - isSimCardExists: $isSimCardExists")
3333

34+
Log.d("Mppppppp", "${"l9876543.99.gt556789".removeNoneNumeric<String>()}")
35+
3436

3537
toolbar.setMenu(
3638
listOf(

needtool/src/main/java/ir/am3n/needtool/StringHelper.kt

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -63,27 +63,29 @@ fun Uri?.openInBrowser(context: Context) {
6363
inline fun <reified T : Any> String.removeNoneNumeric(): T {
6464
return when (T::class) {
6565
Short::class -> {
66-
return (replace(Regex("[^\\d]"), "").toShortOrNull() ?: 0) as T
66+
(replace(Regex("\\D"), "").toShortOrNull() ?: 0) as T
6767
}
6868
Int::class -> {
69-
return (replace(Regex("[^\\d]"), "").toIntOrNull() ?: 0) as T
69+
(replace(Regex("\\D"), "").toIntOrNull() ?: 0) as T
7070
}
7171
Long::class -> {
72-
return (replace(Regex("[^\\d]"), "").toLongOrNull() ?: 0) as T
72+
(replace(Regex("\\D"), "").toLongOrNull() ?: 0) as T
7373
}
7474
BigInteger::class -> {
75-
return (replace(Regex("[^\\d]"), "").toBigIntegerOrNull() ?: 0) as T
75+
(replace(Regex("\\D"), "").toBigIntegerOrNull() ?: 0) as T
7676
}
7777
BigDecimal::class -> {
78-
return (replace(Regex("[^\\d]"), "").toBigDecimalOrNull() ?: 0) as T
78+
(replace(Regex("\\D"), "").toBigDecimalOrNull() ?: 0) as T
7979
}
8080
Float::class -> {
81-
return (replace(Regex("[^\\d.]"), "").toFloatOrNull() ?: 0) as T
81+
(replace(Regex("[^\\d.]"), "").toFloatOrNull() ?: 0) as T
8282
}
8383
Double::class -> {
84-
return (replace(Regex("[^\\d.]"), "").toDoubleOrNull() ?: 0) as T
84+
(replace(Regex("[^\\d.]"), "").toDoubleOrNull() ?: 0) as T
85+
}
86+
else -> {
87+
replace(Regex("\\D"), "") as T
8588
}
86-
else -> 0 as T
8789
}
8890
}
8991

0 commit comments

Comments
 (0)