1. 程式人生 > >Python字串中的換行符和製表符

Python字串中的換行符和製表符

有關換行的問題

首先提一個問題,如下。

有python程式程式碼:

   print("I'm Bob. What's your name?") 

上一行程式碼的輸出如下:

      I'm Bob. What's your name?

上面的輸出沒有換行。想在What之前換行,效果是:

     I'm Bob.
     What's your name?

該怎麼辦?

在What之前敲回車,行嗎?不行,這個回車的效果是語句換行,不是輸出內容換行。

用換行符的解決辦法

上述問題的解決辦法是在What之前插入換行符。寫法是:

   print("I'm Bob.\nWhat's your name?")

注意到What前面的\n了沒有?這是一個字元組合,即反斜槓和n字母的組合。然而,這個組合寫法的含義只是一個字元,即換行符。

強調一遍,寫法上是兩個字元的組合,但含義上只是一個字元。

Python語言中,除了換行符之外,還有很多“寫法是兩個字元的組合,但含義上只是一個字元”的情形,製表符就是其中的一個。

製表符

製表符也屬於“寫法是兩個字元的組合,但含義上只是一個字元”的情形。它的寫法是“\t”,是反斜槓和t字母的組合,t取的是table之意。它的含義是一個字元,叫做製表符。它的作用是對齊表格資料的各列。執行以下程式碼,你應該明白何為製表符。

#製表符的寫法是\t,作用是對齊表格的各列。
print("學號\t姓名\t語文\t數學\t英語")
print("2017001\t曹操\t99\t\t88\t\t0")
print("2017002\t周瑜\t92\t\t45\t\t93")
print("2017008\t黃蓋\t77\t\t82\t\t100")

執行上述程式碼,產生以下輸出: 

 學號          姓名    語文    數學    英語
2017001    曹操    99        88        0
2017002    周瑜    92        45        93
2017008    黃蓋    77        82        100

要注意,換行符和製表符的寫法只有在引號內才起作用,才會被視為一個字元。 

相關推薦

Python字串製表符

有關換行的問題 首先提一個問題,如下。 有python程式程式碼: print("I'm Bob. What's your name?") 上一行程式碼的輸出如下:       I'm Bob. What's your name? 上面的輸出沒

Java 去除字串的空格、回車、製表符

public class StringUtils {     public static String replaceBlank(String str) {         String dest = "";         if(str!=null) {        

替換 html、空格 ;去除字串的空格\\s*,回車\n,\r,製表符\t

1、替換 html中換行符、空格 /** 替換 html中換行符、空格 */ public static String repText(String str) throws Exception {

java 技巧 去除字串的空格、回車、製表符(正則表示式)

import java.util.regex.Matcher; import java.util.regex.Pattern; public class StringUtils { public static String replaceBlank(String

Java去除字串的空格、回車、製表符等特殊字元

在日常開發中,空格、回車、換行符等一些特殊字元經常會困擾著我們對於資料的比較,在存取的時候去除掉這些沒有意義的特殊字元就變得非常必要了。對於Java中的String.trim(),它只能去除掉字串前面

練習 3-2 編寫一個函式escape(s, t),將字串t 複製到字串s ,並在複製過程中將製表符等不可見字元分別轉換為\n、\t等相應的可見的轉義字元序列。要求使用swich語句。

要將所有的轉義字元都進行轉換,分支會有很多,在這裡以換行符和製表符為例進行轉換。 #include<stdio.h> void escape(char s[],char t[]); vo

java去除字串的空格、回車、製表符

import java.util.regex.Matcher; import java.util.regex.Pattern; public class StringUtils { public static String replaceBlank(Str

C++‘\n’控制符‘endl’的區別(coutprintf區別)

1.顯示字串時,在字串中包含換行符,而不是在末尾加上endl,可以減少輸入量 2.如果生成一個空行,則兩種方法的輸入量相同,但對大多數人而言輸入endl更為方便 3.顯示引號括起來的字串通常使用換行符

windowslinux的轉換

windows 檔案的換行符為:[CR][LF] Linux和Unix檔案的換行符為:[LF] 有些需要轉換使用,如修改或替換安卓andriod的hosts檔案,需要保證換行符為Unix形式才能使用。 其中一種辦法是在linux系統中重新儲存一份檔案;

txtsublime

一個ANSI編碼的文字檔案,在txt編輯器中開啟,輸入一個Enter,用Hexeditor開啟後一看,發現多了兩個位元組,分別是\r和\n 如果用sublime編輯器裡開啟,輸入一個Enter,用Hexeditor開啟後可以發現,和上面是一樣的。 此外,對於ANSI編碼

文字檔案的空格、製表符的去除

爬了一段文字,儲存為文字文件後,有很多很多空格,剛看了python的正則表示式,嘗試著使用re模組去除文字內容中的空格。import re f=open("duanzi.txt") data=f.read() print(data) f.close() out=open('o

python 正則 問題 不支援(.*?)

有些換行符帶著 (.*?)匹配不到 就和很蛋疼 後來認識了\s 和\S 是完全通配的意思,\s是指空白,包括空格、換行、tab縮排等所有的空白,而\S剛好相反 這樣一正一反下來,就表示所有的字元,完全的,一字不漏的。 故而可以替換 p1 = r'(?<=<div cl

Postgresql查詢出回車:

1、有時候,業務因為回車和換行出現的錯誤,第一步,首先要查詢出回車符和換行符那一條資料: -- 使用chr(13)和chr(10)進行查詢 SELECT * from 資料表名稱 WHERE "欄位" like '%'||chr(13)||'%' or "欄位" like '%'||chr(10)|

安卓按鍵的回車讀取寫入txt檔案的注意事項

我們用安卓按鍵寫指令碼  有一個地方經常容易困惑  比如我明明在電腦上寫好的txt檔案 轉移到手機上開啟 就會全部內容都在一個整行   會造成一些讀取寫入和檢視的不方便  糟糕的時候會導致讀取寫入失敗

java如何把String字串所有的空格製表符(\t)替換成單個符號。

該方法可用於將字串分解成若干有用的陣列。 大致程式碼如下: package test; import java.util.ArrayList; import java.util.List; /**  * @author : suyuyuan  * @date :2016年5

C#過濾多餘空格

Baidu網頁的HTML原始碼是混合在一起的。HTML程式碼混合在一起,出發點是為了減小網頁體積,從而加快網頁載入速度。 在asp.net程式設計時,頁面只要繼承這個基類,那麼輸出的HTML程式碼就會

Hadoop去掉格,製表符,回車【好吧,其實用正則表示式一下子就搞定了】

第一步:將文件中的空格,換行符(\n),製表符(\t),回車符(\n),換頁符(\f)去掉 這時候可以採用兩種方法 1.使用Hadoop將文字以預設的分隔符(空格,換行符,製表符,回車符,換頁符)進行分割,並將分割後的字串直接輸出,這樣子新的文件中將不包括這些分隔符。 /

PHP刪除字串的空格究極方法

//刪除空格和回車 function trimall($str){ $qian=array(" "," ","\t","\n","\r"); return str_replace($

java去除字串的空格\t、回車\n、\r、製表符\t

public class StringUtils { //第一種方法 public static String replaceBlank(String str) { String dest = ""; if (str!=nu