成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

大數(shù)據(jù)Scala系列之文件以及正則表達(dá)式-創(chuàng)新互聯(lián)

大數(shù)據(jù)Scala系列之文件以及正則表達(dá)式
1 讀取行
導(dǎo)入scala.io.Source后,即可引用Source中的方法讀取文件信息。

創(chuàng)新互聯(lián)建站公司2013年成立,先為石首等服務(wù)建站,石首等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為石首企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

import scala.io.Source
object FileDemo extends App{
val source = Source.fromFile("C:/Users/admin/res.txt")
//返回一個(gè)迭代器
val lines = source.getLines()
for(i <- lines)
println(i)
//內(nèi)容也可以放到數(shù)組中
// val arr = source.getLines().toArray
// for(elem <- arr)
// println(elem)
//文件內(nèi)容直接轉(zhuǎn)換成一個(gè)字符串
// val contents = source.mkString
// println(contents)
}

2 讀取字符
按字符讀取文件中的內(nèi)容

import scala.io.Source
object FileDemo extends App{
val source = Source.fromFile("C:/Users/admin/res.txt")
for(c <- source)
println(c)
}

3 讀取單詞
把文件中的內(nèi)容,轉(zhuǎn)換成一個(gè)單詞的數(shù)組

import scala.io.Source
object FileDemo extends App{
val source = Source.fromFile("C:/Users/admin/res.txt")
val contents = source.mkString.split(" ")
for(word <- contents)
println(word)
}

4 讀取網(wǎng)絡(luò)文件
Source可以直接讀取來(lái)自URL等非文件源的內(nèi)容

import scala.io.Source
object FileDemo extends App{
val source = Source.fromURL("http://www.baidu.com")
val lines = source.getLines()
for(i <- lines)
println(i)
}

5 寫文件
scala 沒(méi)有內(nèi)建的對(duì)寫入文件的支持,要寫入文件,使用Java.io.PrintWriter

val out = new PrintWriter("numbers.txt")
for(i <- 1 to 100) out.println(i)
out.close

6 正則表達(dá)式
構(gòu)造一個(gè)Regex對(duì)象,用String類的r方法或者使用new Regex(" ")

如果正則表達(dá)式中包含反斜杠或者引號(hào)的化,可以使用""" """

object RegexDemo extends App{
//構(gòu)建一個(gè)正則表達(dá)式
val numPattern ="[0-9]+".r
//val numPattern = new Regex("abl[ae]\d+")
//構(gòu)建一個(gè)字符串
val matchStr ="98 bottles,99bottles"
//使用findAllIn方法返回所有匹配項(xiàng)的迭代器
for (matchStr <- numPattern.findAllIn(matchStr))
println(matchStr)//98 99
//使用""" """"構(gòu)造含有特殊字符的正則表達(dá)式
val wsnumPattern ="""\s+[0-9]+\s+"""
//調(diào)用findFirstIn方法返回首個(gè)匹配項(xiàng)
val first = numPattern.findFirstIn(matchStr)
println(first) //Some(98)
//調(diào)用findPrefixOf方法返回字符串的開始部分是否能匹配
val ifStartMatch = numPattern.findPrefixOf(matchStr)
println(ifStartMatch)//Some(98)
//調(diào)用replaceFirstIn使用特定的字符串替換首個(gè)匹配項(xiàng)
val res1 = numPattern.replaceFirstIn(matchStr,"xx")
println(res1)//xx bottles,99bottles
//調(diào)用replaceAllIn使用特定的字符串替換所有的匹配項(xiàng)
val res2 = numPattern.replaceAllIn(matchStr,"xx")
println(res2)//xx bottles,xxbottles
}

6 正則表達(dá)式組
分組可以讓我們方便地獲取正則表達(dá)式的子表達(dá)式。在你想要提取的子表達(dá)式兩側(cè)加上圓括號(hào)

object RegexDemo extends App{
//數(shù)字和字母的組合正則表達(dá)式
val numitemPattern="""([0-9]+) ([a-z]+)""".r
val line="666 spark"
for(numitemPattern(num,item) <- numitemPattern.findAllIn(line)){
println(num+"\t"+item)
}
line match{
case numitemPattern(num,item)=> println(num+"\t"+item)
case _=>println("Nothing matched")
}
}

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)站標(biāo)題:大數(shù)據(jù)Scala系列之文件以及正則表達(dá)式-創(chuàng)新互聯(lián)
鏈接分享:http://jinyejixie.com/article28/hihjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、定制開發(fā)企業(yè)網(wǎng)站制作、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作
隆化县| 福州市| 合江县| 乌鲁木齐市| 宾阳县| 长治县| 康保县| 北辰区| 武平县| 宁国市| 平武县| 荣昌县| 武平县| 嫩江县| 礼泉县| 荆州市| 廊坊市| 和平区| 台东县| 新乡市| 酒泉市| 湛江市| 阜新| 内黄县| 久治县| 景德镇市| 新干县| 澜沧| 德保县| 环江| 乌拉特前旗| 泾源县| 昔阳县| 雷波县| 河津市| 乌海市| 丰县| 临颍县| 五华县| 平罗县| 湾仔区|