summaryrefslogtreecommitdiff
path: root/xmake/scripts/base/string.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2016-01-14 09:19:14 +0800
committerruki <[email protected]>2016-01-14 09:19:14 +0800
commitcdcf953259aee5e7e1a06855ddbedbaabf585bc9 (patch)
tree47b8e5de10522cca3b67354fa527b3525193e880 /xmake/scripts/base/string.lua
parent8c50566e7ab2139b9f6c2976b9ce875b7ad11b7a (diff)
rename script directory to core
Diffstat (limited to 'xmake/scripts/base/string.lua')
-rw-r--r--xmake/scripts/base/string.lua115
1 files changed, 0 insertions, 115 deletions
diff --git a/xmake/scripts/base/string.lua b/xmake/scripts/base/string.lua
deleted file mode 100644
index b4be08cfa..000000000
--- a/xmake/scripts/base/string.lua
+++ /dev/null
@@ -1,115 +0,0 @@
---!The Automatic Cross-platform Build Tool
---
--- XMake is free software; you can redistribute it and/or modify
--- it under the terms of the GNU Lesser General Public License as published by
--- the Free Software Foundation; either version 2.1 of the License, or
--- (at your option) any later version.
---
--- XMake is distributed in the hope that it will be useful,
--- but WITHOUT ANY WARRANTY; without even the implied warranty of
--- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
--- GNU Lesser General Public License for more details.
---
--- You should have received a copy of the GNU Lesser General Public License
--- along with XMake;
--- If not, see <a href="http://www.gnu.org/licenses/"> http://www.gnu.org/licenses/</a>
---
--- Copyright (C) 2009 - 2015, ruki All rights reserved.
---
--- @author ruki
--- @file string.lua
---
-
--- define module: string
-local string = string or {}
-
--- find the last substring with the given pattern
-function string.find_last(self, pattern, plain)
-
- -- find the last substring
- local curr = 0
- repeat
- local next = self:find(pattern, curr + 1, plain)
- if next then
- curr = next
- end
- until (not next)
-
- -- found?
- if curr > 0 then
- return curr
- end
-end
-
--- split string with the given pattern
-function string.split(self, pattern)
-
- -- split it
- local list = {}
- self:gsub("[^" .. pattern .."]+", function(v) table.insert(list, v) end )
- return list
-end
-
--- trim the spaces
-function string.trim(self)
- return (self:gsub("^%s*(.-)%s*$", "%1"))
-end
-
--- trim the left spaces
-function string.ltrim(self)
- return (self:gsub("^%s*", ""))
-end
-
--- trim the right spaces
-function string.rtrim(self)
- local n = #self
- while n > 0 and s:find("^%s", n) do n = n - 1 end
- return self:sub(1, n)
-end
-
--- append a substring with a given separator
-function string.append(self, substr, separator)
-
- -- check
- assert(self)
-
- -- not substr? return self
- if not substr then
- return self
- end
-
- -- append it
- local s = self
- if #s == 0 then
- s = substr
- else
- s = string.format("%s%s%s", s, separator or "", substr)
- end
-
- -- ok
- return s
-end
-
--- encode: ' ', '=', '\"', '<'
-function string.encode(self)
-
- -- null?
- if self == nil then return end
-
- -- done
- return (self:gsub("[%s=\"<]", function (w) return string.format("%%%x", w:byte()) end))
-end
-
--- decode: ' ', '=', '\"'
-function string.decode(self)
-
- -- null?
- if self == nil then return end
-
- -- done
- return (self:gsub("%%(%x%x)", function (w) return string.char(tonumber(w, 16)) end))
-end
-
-
--- return module: string
-return string