精华内容
下载资源
问答
  • <html> <body> <div id='plst'></div> <script> var plst=document....代码如上,FF报错 "\"是合法的字符。暂且说这样写的规范等因素。只想问为什么这样合法?谢谢!
  • 主要内容:字符串数组内存分配细节‘\0’空字符字符串数组赋值细节、字符换行连接和下标 #include #include #define STR_LEN 80 char str[STR_LEN+1]; // 用来储存字符串最多80个字符,则要多分配一个空间...

    主要内容:字符串数组内存分配细节‘\0’空字符、字符串数组赋值细节、字符串换行连接和下标

    #include <stdio.h>
    #include <string.h>
    
    #define STR_LEN 80
    char str[STR_LEN+1];  // 用来储存字符串最多80个字符,则要多分配一个空间存储空字符
                          // 不分配的话会出现不可预知的结果,c函数库都假设字符串已空字符结束
    					  // 如printf输出字符串如果没有空字符就会一直在内存中找空字符为止 
    //str = "drr"; // 这样赋值是错误的,可以使用strcpy函数,头文件string.h 
    
    /*
     转换成十六进制 
    */
    char digit_to_hex_char(int digit) 
    {
    	return "0123456789ABCDEF"[digit];
    } 
    
    int main(int argc, char **argv)
    {
    	strcpy(str, "a b ");  // 犯了很二的错误,之前把这个函数放在main之外了 ,空格字统计的 
    	int len = strlen(str);  
    	printf("led = %d\n",len);  // 输出4 
    	len = strlen("");//空字符串 
    	printf("led = %d\n",len); // 输出 0
    	
    	if(str[30] == '\0') // 因为str大小81,而上面只复制的"a b " 所以测试未赋值的元素是多少,结果也为'\0' 
    	{
    		printf("未赋值的字符数组元素也为'\\0'\n");
    	}
    	
    	printf("example\\ \
    	 test\n");  // \连接符 
    	printf("hello "
    	"world!\n");   // 这个也可以实现换行连接 
    	
    	char ch;
    	ch = "abc"[1];  // 运行指针添加下标,也可以字符串字面量添加下标 
    	printf("ch = %c\n",ch);
    	return 0;
    }

    输出:


    展开全文
  • swift 字符串和字符 换行

    千次阅读 2019-05-14 09:26:45
    这意味着,如果您导入Foundation,您可以在字符串中访问这些NSString方法,而需要进行强制转换。 单行字符串 let someString = "Some stirng" 多行文本 多行文本使用 """ 内容 """ 没错,就是三个引...

    Swift的字符串类型与Foundation的NSString类连接。Foundation还扩展了字符串来公开由NSString定义的方法。这意味着,如果您导入Foundation,您可以在字符串中访问这些NSString方法,而不需要进行强制转换。

    单行字符串

    let someString = "Some stirng"

    多行文本

    多行文本使用 """ 内容 """ 没错,就是三个引号开头,三个引号结尾。
    多行字符串文字包含了它的起始引号和结束引号之间的所有行

    
    let lyric = """
    那是你的眼神,明亮又美丽
    啊啊啊~~~
    """
    print(lyric)
    
    结果:
    那是你的眼神,明亮又美丽
    啊啊啊~~~
    

    好吧,这个我一开始以为只是在格式上可以写成多行,没想到结果就是多行,效果等同于\n,而且这样写法更加方便。
    还有就是当我们想在多行文本中想控制某行不换行,可以选择在某行的末尾写上 \ 那么下一行就不会换行了

    let lyric = """
    那是你的眼神,明亮又美丽\
    啊啊啊~~~
    """
    
    结果:
    那是你的眼神,明亮又美丽啊啊啊~~~
    

    在多行文本中,我们可以在结束引号的前面设定空格,来限定整段文本的缩进:

    let lyric = """
      那是你的眼神,明亮又美丽
      啊啊啊~~~
    
      """
    

    上面例子中,我们在最后"""前设定了2个空格,那么之前的文本必须都是缩进2个空格如果你这样写:

    let lyric = """
    那是你的眼神,明亮又美丽
    啊啊啊~~~
    
      """
    

    你会发现会报错Insufficient indentation of line in multi-line string literal 多行字符串文字的行缩不足

    字符串中特殊字符

    \(反斜杠)

    let test = "====\\===="
    结果:
    ====\====
    

    \t(水平选项卡)

    let test = "\t1\t2\t3"
    结果:
        1   2   3
    

    \n(换行符)

    let test = "\n1\n2\n3"
    结果:
    
    1
    2
    3
    

    \r(回车)

    let test = "\r1\r2\r3"
    结果:
    
    1
    2
    3
    

    从结果来看,\r和\n似乎没有区别,但既然存在即表示肯定是有区别的

    '\r'是回车,\r 使光标到行首. '\n'是换行,\n 使光标下移一格,通常敲一个回车键,即是回车,又是换行(\r\n)。Unix中每行结尾只有“<换行>”,即“\n”;Windows中每行结尾是“<换行><回车>”,即“\n\r”;Mac中每行结尾是“<回车>”

    一般遇到的情况是在解析Json字符串,网页数据,文件信息的时候会出现不同的应对.

    "(双引号)

    let test = "\"认识自己的无知是认识世界的最可靠的方法。——《随笔集》\""
    结果:
    "认识自己的无知是认识世界的最可靠的方法。——《随笔集》"
    

    '(单引号)

    let test = "\'曦\'"
    结果:
    '曦'
    

    Unicode 字符就直接采用官网的了

    let dollarSign = "\u{24}"        // $,  Unicode scalar U+0024
    let blackHeart = "\u{2665}"      // ♥,  Unicode scalar U+2665
    let sparklingHeart = "\u{1F496}" // ?, Unicode scalar U+1F496
    
    结果:
    $ ♥ ?
    

    空字符串

    我们来看一下如果定义一个空字符串:

    var emptyString = ""
    或者
    var emptyString = String()
    

    判断字符串是否为空:

    isEmpty 方法

    var emptyString = ""
    
    if emptyString.isEmpty {
      print("emptyStirng is empty")
    }
    
    

    字符串可变性

    var variableString = "Horse"
    variableString += " and carriage"
    
    结果:
    variableStrin:Horse and carriage
    
    let constantString = "Highlander"
    constantString += " and another Highlander"
    发生错误。
    Left side of mutating operator isn't mutable: 'constantString' is a 'let' constant
    变异操作符的左侧是不可改变的:“常量字符串”是一个“let”常量
    

    简单来说就是variableString 是变量,可以通过+操作符来追加字符串, constantString 为常量,不可修改。

    这个我不得不吐槽一下,官网的这个解释,不就是常量不可修改嘛,说什么可变性。

    字符串是值类型

    If you create a new String value, that String value is copied when it’s passed to a function or method, or when it’s assigned to a constant or variable. In each case, a new copy of the existing String value is created, and the new copy is passed or assigned, not the original version.
    如果您创建一个新的字符串值,那么当它传递给一个函数或方法时,或者当它被分配给一个常量或变量时,该字符串值将被复制。
    在不同情况下,都会创建一个现有字符串值的新副本,并分配新副本,而不是原始版本。

    Swift’s copy-by-default String behavior ensures that when a function or method passes you a String value, it’s clear that you own that exact String value, regardless of where it came from. You can be confident that the string you are passed won’t be modified unless you modify it yourself.
    Swift的 copy-by-default 行为可以确保当函数或方法传递给你一个字符串值时,不管它是从哪里来的,你都能清楚地知道你的值是什么。您可以确信,您所传递的字符串不会被修改,除非您自己修改它。

    Behind the scenes, Swift’s compiler optimizes string usage so that actual copying takes place only when absolutely necessary. This means you always get great performance when working with strings as value types.
    在后台,Swift的编译器优化了字符串的使用,所以只有在绝对必要的情况下才会进行实际的复制。这意味着在使用字符串作为值类型时,您总是获得很好的性能。

    这个就有别于OC了,OC中有明确的分为NSString(不可变)和NSMutableString(可变),swift中只有这么一种了,通过对此的优化更加确保了数据的安全。

    字符

    定义一个字符(Character)类型的常量charA

    let charA:Character = "A"
    print("charA:\(charA)")
    结果:
    charA:A
    

    您可以通过使用for循环遍历字符串来访问字符串的单个字符值:

    let character = ""
    let str = "窗外的麻雀"
    for character in str {
        print(character)
    }
    结果:
    窗
    外
    的
    麻
    雀
    

    创建一个字符值数组:

    let catCharacters: [Character] = ["C", "a", "t", "!", "?"]
    print(catCharacters)
    结果:
    ["C", "a", "t", "!", "?"]
    

    可以通过String(字符数组)来将字符数组转换成字符串

    let catCharacters: [Character] = ["C", "a", "t", "!", "?"]
    let catString = String(catCharacters)
    print(catString)
    结果:
    Cat!?
    

    字符串的连接:
    我们可以用 + 操作符连接字符串

    let string1 = "hello"
    let string2 = " there"
    var welcome = string1 + string2
    print("welcome \(welcome)")
    结果:
    welcome hello there
    

    除了+操作符之外,还有append方法

    let string1 = "hello"
    let string2 = " there"
    var welcome = string1 + string2
    
    let exclamationMark: Character = "!"
    welcome.append(exclamationMark)
    print("welcome \(welcome)")
    结果:
    welcome hello there!
    

    append是将字符串追加到原本字符串的末尾

    以上的添加方法是通过连接两个字符串的值形成一个新的值
    而在有的时候我们其实只需要临时的展示而已,不需要去改变原有的值,那么这个时候其实只需要这样做就可以了:

    let badStart = """
    one
    two
    """
    let end = """
    three
    """
    print(badStart + end)
    print(badStart)
    
    结果:
    one
    twothree
    
    one
    two
    

    可以看到我们在输出print中将其相加,虽然显示了,但其实badStart的结果并没有改变。

    字符串的插值

    在使用字符串的时候,我们可能需要利用其它的变量来改变我们目前的数据,而这个时候我们可以使用 \(value) 来将我们需要的值

    let multiplier = 3
    let message = "\(multiplier) times 2.5 is \(Double(multiplier) * 2.5)"
    
    结果:
    3 times 2.5 is 7.5
    

    当然了,这个也不是万能,它是不能将未转义的\直接放置于()中的:
    错误的方式

    let message = "\(\)"
    print(message)
    
    let message = "\(\')"
    print(message)
    
    

    正确的方式是这样的:

    let message = "\("\'")"
    print(message)
    结果:
    '
    

    计算字符的个数

    计算字符的个数是我们比较常用的方法count

    let unusualMenagerie = "Koala ?, Snail ?, Penguin ?, Dromedary ?"
    print("unusualMenagerie has \(unusualMenagerie.count) characters")
    结果:
    unusualMenagerie has 40 characters
    

    当然了,count并不总是能够计算清楚我们的字符个数:

    var word = "cafe"
    print("the number of characters in \(word) is \(word.count)")
    这个计算结果是4
    word += "\u{301}"  
    print("the number of characters in \(word) is \(word.count)")
    当我们计算的会发现结果仍然是4
    

    这是为什么呢?
    因为swift中的字符串运用了扩展字元簇(Extended Grapheme Clusters)

    扩展字元簇可以由多个Unicode标量组成。
    这意味着不同的字符和相同字符的不同表示可以要求不同的内存数量来存储。
    因此,Swift中的字符不会在字符串的表示中占用相同数量的内存。

    结果,字符串中的字符数无法计算.
    如果您使用的是特别长的字符串值,请注意,count属性必须遍历整个字符串中的Unicode标量,以便确定该字符串的字符。

    比如:字母é可以是一个单独的Unicode scalar:U+00E9,也可以是多个纯量的组合:U+0065U+0301 (其中U+0065就是字母e)。在Swift中,这两种情况都认为是一个字符,因此获取字符串长度的时候(用全局函数count()),返回的值是相同的,这意味着字符串的改变并不一定意味着其长度发生变化。

    count属性返回的字符数并不总是与包含相同字符的NSString的长度属性相同。
    NSString的length是基于字符串的utf-16表示的16位代码单元的数量,而不是字符串中Unicode扩展的grapheme集群的数量

    字符串索引

    let greeting = "Guten Tag!"
    //字符串中的开头字母
    print(greeting[greeting.startIndex])
    //index()表示获取字符串中某个下标的元素,before意味着获取最后一位的之前的下标
    //endIndex表示字符串最后一位
    print(greeting[greeting.index(before: greeting.endIndex)])
    //after表示获取某个下标之后
    print(greeting[greeting.index(after: greeting.startIndex)])
    //这个方法表示以startIndex下标开始,偏移7位
    let index = greeting.index(greeting.startIndex, offsetBy: 7)
    print(greeting[index])
    结果:
    G
    !
    u
    a
    

    使用索引属性来访问字符串中各个字符的所有索引:

    for index in greeting.indices {
        print("\(greeting[index]) ", terminator: "")
    }
    结果:
    G u t e n   T a g ! 
    

    这里的terminator是print方法中参数,默认是添加换行符\n

    let greeting = "Guten Tag!"
    
    for index in greeting.indices {
        print("\(greeting[index]) ", terminator: "\n")
    }
    G 
    u 
    t 
    e 
    n 
      
    T 
    a 
    g 
    ! 
    

    感觉跟print没有区别吧。

    let greeting = "Guten Tag!"
    
    for index in greeting.indices {
        print("\(greeting[index]) ", terminator: "1")
    }
    结果:
    G 1u 1t 1e 1n 1  1T 1a 1g 1! 1
    

    这个其实就是在每次获取单个字符之后添加一个字符。

    字符串的插入和删除

    插入

    insert(value,at:index)

    var welcome = "hello"
    welcome.insert("!", at:welcome.endIndex)
    print(welcome)
    结果:
    hello!
    
    var welcome = "hello!"
    welcome.insert(contentsOf: " world", at: welcome.index(before: welcome.endIndex))
    print(welcome)
    结果:
    hello world!
    

    移除

    remove(at:index)
    根据下标进行移除

    removeSubrange
    根据提供的范围进行移除

    var welcome = "hello!"
    welcome.remove(at: welcome.index(before: welcome.endIndex))
    print(welcome)
    结果:
    hello
    
    var welcome = "hello world"
    //空格的位置 - 末尾
    let range = welcome.index(welcome.endIndex, offsetBy: -6)..<welcome.endIndex
    welcome.removeSubrange(range)
    print(welcome)
    结果:
    hello 
    

    后续更新,敬请期待...



    作者:如风如花不如你
    链接:https://www.jianshu.com/p/87c29641db61
    来源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

    展开全文
  • Java中的换行、转义字符和连接字符

    千次阅读 2019-02-06 12:01:02
    我们之前完成了我们的第一个Java输出语句,接下来我们可以做一个简单的输出换行与不换行操作。 例如:我们输出天王盖地虎和宝塔镇河妖 public class Demo1 { public static void main(String[] args) { ...

    语句输出的换行

    我们之前完成了我们的第一个Java输出语句,接下来我们可以做一个简单的输出换行与不换行操作。
    例如:我们输出天王盖地虎和宝塔镇河妖

    public class Demo1 {
    	public static void main(String[] args) {
    		System.out.println("天王盖地虎");
    		System.out.println("宝塔镇河妖");
    	}
    }
    
    

    输出结果:
    在这里插入图片描述
    我们再输出天王盖地虎和小鸡炖蘑菇

    public class Demo1 {
    	public static void main(String[] args) {
    		System.out.println("天王盖地虎");
    		System.out.println("宝塔镇河妖");
    		System.out.print("天王盖地虎");
    		System.out.print("小鸡炖蘑菇");
    		
    	}
    }
    

    结果:
    在这里插入图片描述
    我们可以发现,print后加ln具有换行的功能。

    另一种换行方式——转义字符

    在输出语句中加\n具有换行的功能。

            System.out.println("天王盖地虎");
    		System.out.println("宝塔镇河妖");
    		System.out.print("天王盖地虎\n");
    		System.out.print("小鸡炖蘑菇");
    		System.out.println("清风抚杨柳");
    

    结果:
    在这里插入图片描述
    除了\n转义字符之外还有\t等等转义字符,给大家演示一下,输出一段文字:

            System.out.print("天王盖地虎\t");
    		System.out.print("小鸡炖蘑菇\n");
    		System.out.print("清风抚杨柳\t");
    		System.out.print("敢问是段友\n");
    

    结果:
    在这里插入图片描述

    连接字符

    在输出语句中+号有能够连接的作用:

    System.out.print("天王盖地虎\t"+"宝塔镇河妖");
    

    结果:
    在这里插入图片描述
    简单的介绍了一下在输出语句中可能遇到的一些操作。

    展开全文
  • 换行\n需要用双引号括起来,能用单引号。 eg. <?php print_r("hello"."\n"); print_r("world"."\n"); print_r('hello'.'world'."\n"); ?> 结果: hello world hello world 转载于:...

    PHP中字符串的连接使用点,不是加号。换行\n需要用双引号括起来,不能用单引号。

    eg.

    <?php

    print_r("hello"."\n");

    print_r("world"."\n");

    print_r('hello'.'world'."\n");

    ?>

    结果:

    hello

    world

    hello world

    转载于:https://www.cnblogs.com/wanglin2016/p/5397234.html

    展开全文
  • Drawtext无法换行,pdc->DrawText(str2,&pView->rect1,DT_LEFT);str2的值是通过sql server连接动态读取的为"123\r\n 12\r\n",一行...str2在sql server存储数据类型为text, 我在程序里转化为cstring,也能实现换行
  • white-space:nowrap; //white-space 属性设置如何处理元素内的空白。nowrap:文本不会换行,文本会在在同一行上继续,直到遇到 <br> 标签为止。...keep-all只能在半角空格或连字符换行。 ...
  • 1、HTML页面,必须为英文语言 <... 2、CSS页面: .product-desc{ width:520px; max-height:160px;...效果:这样就把单词performance换行并添加连字符了。 如果添加hyphens:auto,后面就空出一截好看: ...
  • 取消所有段落的‘允许西文在单词中间换行’ 然后 页面布局---页面设置---断字---自动   1.首先在下图中选中题注中包含标签复选框。 2.其次最好打开编号对话框,如下图设置章节号,对 图片表格也...
  • ``` <!... ... <title></title> ...div强制自动换行,空格会带前一个字符也会被换行。 如何加也能像div3中的效果一样。 ![图片说明](https://img-ask.csdn.net/upload/201910/22/1571729918_673394.jpg)
  • 将西文单词从自动换行的位置处断开,某位添加一个小横线(连字符)。一般来说,许多人为了美观排版常常将段落的对齐方式设置为两端对齐方式,此时要是在某行的结尾有一个词特别长,而在这一行中显示下的话,Word...
  • 微信小程序 view内英文数字不换行

    千次阅读 2018-11-07 16:45:39
    给view添加css word-break:break-all; word-break: normal|break-all|keep-all; 值 描述 ... 使用浏览器默认的换行规则。... 允许在单词内换行。... 只能在半角空格或连字符换行。 ...
  • 文本换行

    2019-02-14 13:52:21
    word-break normal ... 允许CJK(Chinese/Japanese/Korean)文本中的单词换行,只能在半角空格或连字符换行。非CJK文本的行为实际上和normal一致。 **break-word 英文情况下,按照单词来进行换...
  • 使lua 输出不换行

    2019-04-17 16:42:50
    问: T1 = {1, 2, 3} for i = 1,3 do print(T1[i]) ...会自动换行;怎么才能在一行输出:123 答: localT1={1,2,3} locals="" fori=1,3do s=s..T1[i] end print(s) 将数字连接成字符串再一起输出 ...
  • 经常从DW中复制出一段HTML代码(比如table)想将它作为一个字符串来使用,习惯性的将其粘贴到记事本中将一个双引号替换为两个双引号、去掉换行符进行连接再复制粘贴回DW中,但由于在记事本中能直观的看出这个字符串...
  • 换行+省略号

    2016-12-02 17:24:00
    只是Mark一下,不是正规文章。 换行问题 word-break: 规定自动换行的...只能在半角空格或连字符换行。 浏览器默认 word-wrap: 允许长单词换行到下一行 word-wrap: break-word; word-wrap break-word normal...
  • hyphens换行

    2020-03-03 16:19:26
    使用 hyphens 进行单词换行 一般换行使用 word-break break-all:单词会被强行断开,方便阅读 break-word: 当空间不够时,单词会自动换行...none: 单词不会换行,即使字符串中建议换行,只会在空白符处换行 m...
  • DIV中文字换行显示

    2018-12-18 19:09:00
    居然第一次遇到这种问题,还想了半天到底是怎么回事,为什么明明div设置宽度了,里面的文字超过宽度后居然不换行。 (1)word-break属性,可以让浏览器实现在任意位置换行。  normal:使用浏览器默认的换行规则...
  • 这里只记录一个场景,那就是服务器下发的text中...所以我会扫描一遍字符串,如果遇到这两个字符连在一起的时候,就用: char[] chars = oriStr.toCharArray(); StringBuilder stringBuilder = new StringBuilder();
  • CSS 单词换行 word-break属性

    万次阅读 2018-02-14 21:32:52
    单词换行word-break属性用来规定自动换行的处理方式,它不仅可以让浏览器在半角空格或连字符的后面换行,也可以实现在任意位置换行,可选值有 normal | keep-all | break-all,默认值为 normal。normal 表示根据语言...
  • iOS7.0以后的UILabel会自动将Text行尾的空白字符全部去除,除了常见的半角空格(\0×20)和制表符(\t)之外,全角空格(\u3000)也被计算在内,甚至多余的换行符(\r,\n)也被自动去除了。这一点虽然方便直接将控件...
  • WORD中有这样的矛盾,如果选中“段落”-“中文版式”里的“允许西文在中间自动换行”,就会取消自动断字的连字符,但如果勾选允许西文在中间自动换行”,就会有自动断字的连字符。但是有些行会有大片空白。除非...
  • 当我们页面上的字符串是一个在一起的字符串,会被默认作为一个单词处理,如果页面上做控制,很容易顶出我们的布局范围,如下图 我们只需要在控制布局的地方添加下面的属性就阔以控制了 .comments{ word-...
  • CSS —— html 自动换行

    万次阅读 2018-07-28 14:41:37
    涉及三个属性: white-space:规定如何处理空白,是否换行,默认值:normal...word-break:normal(默认,只在内容的断点换行)或 break-all (允许断开单词)、keep-all(只在半角或连字符处允许换行)。  ...
  • 浏览器默认换行规则是,对于西方文字来说,浏览器只会在半角空格、连字符的地方进行换行,不会在单词中间换行;对于中文来说,浏览器可以在任何一个中文字符后换行。 如果希望改变浏览器的默认行为,则可通过word-...
  • name = 'molly' age = 20 # 一个占位符 print("my name is %s"%name) ...# 字符串连接 print("www","baidu","com",sep='.') my name is molly my name is molly ,my age is 20 ni hao ma www.baidu.com

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 504
精华内容 201
关键字:

连字符不换行