C++中SWIFT 去除字符串首尾的空格,以及指定字符串程序

@import url/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);
@import url(/css/cuteeditor.css);

直接给一段调用实例:

@import url/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);
@import url(/css/cuteeditor.css);

var str = "       \n   \r \r\n \t Hello, \n playground  \n  \t \t \n \n\r   \n    "
let length = (str as NSString).length
let a = str.escapeHeadTailSpace()
let b = str.stringEscapeHeadTail(strs:["\r", "\n", "\t", "\r\n", " "])

对应结果:

a::\t Hello, \n playground  \n 
b::Hello, \n playground

处理原理是:针对一个字符串,每次按一个字节跳过给定的字符串,并返回新得到的字符串,反复迭代,直到原字符串中已经找不到给定的字符串。这样,包含在中间的字符是不去除的。

将得到的新字符串反转,同样在处理一遍。这样头尾部的排除字符串集都可以了。然后再将结果反转,得到原来顺序的字符串,即我们需要的结果.

单纯去除其中所有的某个字符集,有原生方法,不再次考虑
这是针对String的扩展:

extension String{
    func escapeSpaceTillCahractor()->String{
        return self.stringEscapeHeadTail(strs:["\r", " ", "\n"])
    }
    func escapeHeadStr(str:String)->(String, Bool){
        var result = self as NSString
        var findAtleastOne = false
        while( true ){
            var range = result.rangeOfString(str)
            if range.location == 0 && range.length == 1 {
                result = result.substringFromIndex(range.length)
                findAtleastOne = true
            }else{
                break
            }
        }
        return (result as String, findAtleastOne)
    }
    func escapeSpaceTillCahractor(#strs:[String])->String{
        var result = self
        while( true ){
            var findAtleastOne = false
            for str in strs {
                var found:Bool = false
                (result, found) = result.escapeHeadStr(str)
                if found {
                    findAtleastOne = true
                    break  //for循环
                }
            }
            if findAtleastOne == false {
                break
            }
        }
        return result as String
    }
    func reverse()->String{
        var inReverse = ""
        for letter in self {
            println(letter)
            inReverse = "\(letter)" + inReverse
        }
        return inReverse
    }

    func escapeHeadTailSpace()->String{
        return self.escapeSpaceTillCahractor().reverse().escapeSpaceTillCahractor().reverse()
    }

    func stringEscapeHeadTail(#strs:[String])->String{
        return self.escapeSpaceTillCahractor(strs:strs).reverse().escapeSpaceTillCahractor(strs:strs).reverse()
    }
}

时间: 2024-10-26 16:22:22

C++中SWIFT 去除字符串首尾的空格,以及指定字符串程序的相关文章

php去除字符串首尾中英文空格程序

例1.trim函数删除空格 trim()函数用于去除字符串开始位置以及结束位置的空格,并返回去掉空格后的字符串.语法如下: string trim(string str[,string charlist]); ltrim()函数用于去除字符串左边的空格或指定字符串.语法如下: string ltrim(string str[,string charlist]); rtrim()函数用于去除字符串右边的空格和特殊字符.语法如下: string rtrim(string str[,string ch

java中替换去除字符串中的空格/回车/换行符/制表符

用String对象的方法replaceAll就可以了! replaceAll(String regex, String replacement)           使用给定的 replacement 字符串替换此字符串匹配给定的正则表达式的每个子字符串. 示例代码:  代码如下 复制代码 public class T3 { public static void main(String args[]) {  String str="aa bb cc";  System.out.prin

javascript-js怎么去掉字符串首尾的换行符,是首尾的,而不是全部的,求大神指点!!

问题描述 js怎么去掉字符串首尾的换行符,是首尾的,而不是全部的,求大神指点!! 如题,js怎么去掉字符串首尾的换行符,是首尾的,而不是全部的,求大神指点!!!! 解决方案 String.prototype.trim=function(){return this.replace(/^s+|s+$/g,'')} alert('|'+' abc def ghi '.trim()+'|') 解决方案二: C++ 去掉字符串首尾空格将该字符串首尾的空格去掉,如果字符

php实现指定字符串中查找子字符串的方法_php技巧

本文实例讲述了php实现指定字符串中查找子字符串的方法.分享给大家供大家参考.具体分析如下: 对strpos()函数可以用来在php中查找子字符串.strpos()函数将试图找到子字符串在源字符串中首次出现的位置.如果找到了,它会返回一个非负整数表示子字符串出现的位置. 否则它会返回一个布尔值false. <?php $haystack1 = "2349534134345w3mentor16504381640386488129"; $haystack2 = "w3men

PHP使用strstr()函数获取指定字符串后所有字符的方法_php技巧

本文实例讲述了PHP使用strstr()函数获取指定字符串后所有字符的方法.分享给大家供大家参考,具体如下: PHP的strstr()函数可搜索字符串在另一字符串中的第一次出现位置,并返回字符串的剩余部分. strstr()函数定义如下: strstr(string,search,before_search) 参数说明: string 必需.规定被搜索的字符串. search  必需.规定所搜索的字符串. 如果此参数是数字,则搜索匹配此数字对应的 ASCII 值的字符. before_searc

Python中如何去除字符串首尾填充

Python中, 去除字符串首尾填充, 使用lstrip(), 去除左填充;rstrip(), 去除右端填充; strip(), 去除两端填充; 也可以指定填充去除, 注意只会去除首尾两端的填充, 以空格为标记; 代码如下: # -*- coding: utf-8 -*- #==================== #File: TextExercise.py #Author: Wendy #Date: 2014-03-04 #==================== #eclipse pyde

PHP和sql去除字符串首尾特定字符或空格

PHP去除字符串首尾特定字符函数trim() <?php   $a="(a,b,c,)"; echo $a."<br/>"; //输出:(a,b,c,) $b=trim($a,"()"); //去除字符串首尾含有的字符"("或")" echo $b."<br/>"; //输出:a,b,c, $c=trim($a,"(,)"); //去除字

jQuery Trim去除字符串首尾空字符的实现方法说明

 本篇文章主要是对jQuery Trim去除字符串首尾空字符的实现方法进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 假如您的项目正在使用jQuery框架,要去除字符串首尾的空字符您当然会选择:jQuery.trim(string).如果没有用到jQuery如何简单的实现呢.之前本人曾发过一个代码小片段:Javascript去除字符串左右的空格-trim(),这个写的比较粗糙并要用到递规操作.所以很多人很不满意代码的质量,包括我在内. 偶尔看了下jQuery的代码,发现非常值的我

jQuery Trim去除字符串首尾空字符的实现方法说明_jquery

假如您的项目正在使用jQuery框架,要去除字符串首尾的空字符您当然会选择:jQuery.trim(string).如果没有用到jQuery如何简单的实现呢.之前本人曾发过一个代码小片段:Javascript去除字符串左右的空格-trim(),这个写的比较粗糙并要用到递规操作.所以很多人很不满意代码的质量,包括我在内.偶尔看了下jQuery的代码,发现非常值的我们学习. 看看它是怎么实现这个功能的吧,代码只有一句话:使用正则方法. JavaScript Trim实现代码function trim