diff options
author | A. Unique TensorFlower <gardener@tensorflow.org> | 2016-09-17 06:05:33 -0800 |
---|---|---|
committer | TensorFlower Gardener <gardener@tensorflow.org> | 2016-09-17 07:17:42 -0700 |
commit | 93423dfd7de7fe0b7f733784516617622578cba6 (patch) | |
tree | f4164235cd72a7d5be8924c8e52f899450f797e0 | |
parent | 11bcb616288cbb347fed566bd5bdd0d1923e88b6 (diff) |
Add a str_util::ConsumeSuffix() utility function.
Change: 133476675
-rw-r--r-- | tensorflow/core/lib/strings/str_util.cc | 8 | ||||
-rw-r--r-- | tensorflow/core/lib/strings/str_util.h | 4 |
2 files changed, 12 insertions, 0 deletions
diff --git a/tensorflow/core/lib/strings/str_util.cc b/tensorflow/core/lib/strings/str_util.cc index 3a1c57f578..c3627d4286 100644 --- a/tensorflow/core/lib/strings/str_util.cc +++ b/tensorflow/core/lib/strings/str_util.cc @@ -279,6 +279,14 @@ bool ConsumePrefix(StringPiece* s, StringPiece expected) { return false; } +bool ConsumeSuffix(StringPiece* s, StringPiece expected) { + if (s->ends_with(expected)) { + s->remove_suffix(expected.size()); + return true; + } + return false; +} + bool ConsumeLeadingDigits(StringPiece* s, uint64* val) { const char* p = s->data(); const char* limit = p + s->size(); diff --git a/tensorflow/core/lib/strings/str_util.h b/tensorflow/core/lib/strings/str_util.h index 9dd1ede8dc..5f42c2cfcd 100644 --- a/tensorflow/core/lib/strings/str_util.h +++ b/tensorflow/core/lib/strings/str_util.h @@ -71,6 +71,10 @@ bool ConsumeNonWhitespace(StringPiece* s, StringPiece* val); // Otherwise, return false. bool ConsumePrefix(StringPiece* s, StringPiece expected); +// If "*s" ends with "expected", remove it and return true. +// Otherwise, return false. +bool ConsumeSuffix(StringPiece* s, StringPiece expected); + // Return lower-cased version of s. string Lowercase(StringPiece s); |