Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request fixes issue #450
Explaination:
text
to be formatted: "5,000 + 50,0000"textNoSeparators
: "5000 + 500000"extractedNumbers
: [5000,500000]numbersWithSeparators
: ["5,000" , "500,000"]the issue happens here: [during the loop of replacing the nubmers with the formatted numbers]
numbersList.forEachIndexed { index, number ->
textWithSeparators = textWithSeparators.replace(number, numbersWithSeparators[index])
}
in the first loop [index: 0, number: 5000]
replace
will find two places for '5000' in the expression like this "[5000] + [5000]00"so ,
textWithSeparators
will be "[5,000] + [5,000]00"using
replaceFirst
fixes the issue as it only replaces the first occurrence of the number