Browse Source

Optimised String::unquoted()

tags/2021-05-28
jules 8 years ago
parent
commit
7ef3c009f6
1 changed files with 10 additions and 13 deletions
  1. +10
    -13
      modules/juce_core/text/juce_String.cpp

+ 10
- 13
modules/juce_core/text/juce_String.cpp View File

@@ -1637,26 +1637,23 @@ String String::upToLastOccurrenceOf (StringRef sub,
return substring (0, includeSubString ? i + sub.length() : i);
}
bool String::isQuotedString() const
static bool isQuoteCharacter (juce_wchar c) noexcept
{
const juce_wchar trimmedStart = trimStart()[0];
return c == '"' || c == '\'';
}
return trimmedStart == '"'
|| trimmedStart == '\'';
bool String::isQuotedString() const
{
return isQuoteCharacter (*text.findEndOfWhitespace());
}
String String::unquoted() const
{
const int len = length();
if (len == 0)
return {};
const juce_wchar lastChar = text [len - 1];
const int dropAtStart = (*text == '"' || *text == '\'') ? 1 : 0;
const int dropAtEnd = (lastChar == '"' || lastChar == '\'') ? 1 : 0;
if (! isQuoteCharacter (*text))
return *this;
return substring (dropAtStart, len - dropAtEnd);
auto len = length();
return substring (1, len - (isQuoteCharacter (text[len - 1]) ? 1 : 0));
}
String String::quoted (const juce_wchar quoteCharacter) const


Loading…
Cancel
Save