日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何去除字符串中的 “\n“ ?80% 的同学错了!

發布時間:2025/3/15 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何去除字符串中的 “\n“ ?80% 的同学错了! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

大家好,我是魚皮,今天分享一個小知識。

我最近負責的工作是設計一個 SQL 解析引擎。簡單來說,就是將一個 SQL 表達式字符串,解析為一顆對象樹,從而執行查詢等一系列操作。

在最開始,我就遇到了一個很頭疼的問題,用戶編寫的 SQL 語句可能非常不標準!

理想的 SQL 語句,縮進很規范,沒有多余的字符:

select * from user;

而現實往往是這樣的:

select * \n from user;

上述語句不僅縮進、換行很隨意,還多了很多無意義的字符串,比如 "\n" !

因此,想要設計一個通用性強的 SQL 解析引擎,首先要對字符串進行 預處理,將輸入的 SQL 語句標準化。比如去除回車、換行、冗余的空格和特殊字符等。

那問題來了,如何去除字符串中的所有 "\n" 呢?注意,這里的 "\n" 并不是換行符,而是由字符 '\' 和字符 'n' 組成的字符串!

# 轉換前 select * \n from user;# 轉換后 select * from user;

首先我想到了兩種思路:

  • 用循環語句順序掃描每個字符,通過當前字符和下一個字符判斷是否為 "\n",再移除。
  • 直接用 Java 語言提供的 replaceAll 方法,傳入一個正則表達式,直接將完整字符串中所有匹配正則的子串替換為空串。
  • 我這里選擇后者,直接用現成的方法會比較方便,而且借助強大的正則表達式,可以同時替換掉多個冗余字符。

    Java 正則表達式定義:

    /** 全部替換* regex 正則表達式* replacement 要替換成的新串*/ public String replaceAll(String regex, String replacement) {return Pattern.compile(regex).matcher(this).replaceAll(replacement); }

    那么如何編寫正則表達式,移除所有的 "\n" 呢?這里我發起了一個投票,大家可以先自己想一下,給出自己的選擇。

    剛開始我想的太簡單了,直接編寫出如下代碼:

    str.replaceAll("\n", "");

    結果,并不能順利地替換掉字符串中的 "\n",僅僅是把換行符去掉了!

    原因很簡單,在 Java 字符常量中,反斜杠(\)是一個特殊的字符,被稱為 轉義字符,它的作用是用來轉義后面一個字符,本身不具有實際意義!

    因此,不能用下面這種方式直接輸出反斜杠:

    如果想要單獨輸出一個反斜杠,需要再加上一個反斜杠轉義:

    同理,想要輸出一個 "\n" 字符串,代碼要這么寫:

    System.out.println("\\n")

    那不妨試試這個正則表達式:

    str.replaceAll("\\n", "");

    結果出乎意料,竟然和只用一個反斜杠時的效果一樣!僅僅是移除了換行符。

    其實,正確的答案應該是使用 四個反斜杠,因為反斜杠在 Java 和正則表達式中都是轉義字符!

    其中,第一個斜杠是轉義符,第二個斜杠是斜杠本身,第三個斜杠又是轉義符,第四個斜杠是斜杠本身。

    在 Java 中,輸出 "\n" 字符串需要兩個反斜杠和一個 'n',在 Java 的正則表達式中,要給這兩個反斜杠分別再分配一個反斜杠進行轉義,才能生效。

    總而言之,記住一句話:Java 正則表達式中,匹配一個反斜杠要用四個反斜杠!


    最后,正則表達式可是一門大學問,推薦一款學習、創建和測試正則表達式的在線可視化工具,RegExr。通過練習的方式學習,很快就能入門啦!

    文章來源:https://mp.weixin.qq.com/s/rNDgr59UTcTCt5NtaLMnKQ

    總結

    以上是生活随笔為你收集整理的如何去除字符串中的 “\n“ ?80% 的同学错了!的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 欧美性潮喷xxxxx免费视频看 | 在线观看中文 | 蘑菇福利视频一区播放 | youjizz.com最新| 黄a在线| 精品一区在线看 | 青青草伊人 | 女人裸体无遮挡 | 韩日精品视频 | 一区二区三区欧美在线 | 五月激情婷婷网 | 91av观看| 婷婷五月色综合 | 超碰夜夜 | 97人人草 | 国产a v一区二区三区 | 超碰中文字幕 | 制服丝袜一区二区三区 | 一本大道熟女人妻中文字幕在线 | 91视频影院 | 日噜噜夜噜噜 | 国产美女视频免费观看下载软件 | 国产主播精品在线 | 依依成人在线 | 亚洲激情第一页 | 婷婷色九月 | 日日爽夜夜爽 | 三上悠亚在线一区 | 国产精品久久欧美久久一区 | 性欧美精品| 欧美午夜精品久久久久久浪潮 | 国产伊人一区 | 干干干操操操 | 欧美片网站yy | 天天做天天射 | 天天看a| 蜜臀久久精品久久久久 | 国产探花精品一区二区 | 亚洲天堂2015 | 久久久久久9 | 影音先锋婷婷 | 国产在线视频卡一卡二 | 中国免费观看的视频 | 欧美另类人妖 | 亚洲精品1区2区3区 国产丝袜网站 | 中文字幕观看av | 极品国产一区 | mm1313亚洲国产精品美女 | 人妻在线日韩免费视频 | 亚洲永久视频 | 图片区偷拍区小说区 | 欧美一级高清片 | 亚洲成人网络 | 99精品区 | 国产做爰全过程免费视频 | 91人人看 | 综合久久五月 | a黄色大片 | 国模精品一区二区三区 | 久久亚洲精品小早川怜子 | 国产精品久久久久久久久久辛辛 | 欧美精品一级片 | 天天干夜夜夜夜 | 亚洲国产视频网站 | 亚洲欧美日韩成人在线 | 深夜视频在线 | 国产精品久久欧美久久一区 | 日韩精品免费一区二区 | 免费在线播放黄色片 | 97国产成人 | 午夜激情在线 | av视屏| 日韩成人在线免费观看 | 一个人在线观看免费视频www | 欧美粉嫩videosex极品 | 国产成人毛片 | 日韩99| 寡妇高潮一级视频免费看 | 国产老头老太作爱视频 | 国产一级做a爰片久久毛片男男 | mm131丰满少妇人体欣赏图 | 欧美日韩精品一区二区三区蜜桃 | aa毛片视频| 免费av在线电影 | 久久泄欲网| 干干操操| 亚洲天天av| 欧美日韩另类在线 | 丰满放荡岳乱妇91ww | 少妇2做爰交换朴银狐 | 亚洲一区二区三区四区五区xx | 越南毛茸茸的少妇 | 成人在线h| 77久久 | 亚洲伊人久久久 | 九色porny视频 | 最新日本中文字幕 | 国产亚洲精品精品精品 | 日韩狠狠|