Shaka Packager SDK
Loading...
Searching...
No Matches
string_trim_split.cc
1// Copyright 2023 Google LLC. All rights reserved.
2//
3// Use of this source code is governed by a BSD-style
4// license that can be found in the LICENSE file or at
5// https://developers.google.com/open-source/licenses/bsd
6
7#include <packager/utils/string_trim_split.h>
8
9#include <string>
10#include <vector>
11
12#include <absl/strings/ascii.h>
13#include <absl/strings/str_split.h>
14#include <absl/strings/string_view.h>
15
16namespace shaka {
17std::vector<std::string> SplitAndTrimSkipEmpty(const std::string& str,
18 char delimiter) {
19 auto tokens = absl::StrSplit(str, delimiter, absl::SkipEmpty());
20 std::vector<std::string> results;
21 for (const absl::string_view& token : tokens) {
22 std::string trimmed = std::string(token);
23 absl::StripAsciiWhitespace(&trimmed);
24 if (!trimmed.empty()) {
25 results.push_back(trimmed);
26 }
27 }
28
29 return results;
30}
31} // namespace shaka
All the methods that are virtual are virtual for mocking.