2016-01-27 21 views
1

我想使用下面的代碼來擺脫url中的製表符和換行符,但我仍然在我的輸出中得到換行符和製表符。需要幫助解決這個問題。斯卡拉轉義換行符和製表符

val referrerUrl = Option(event.getPage.getReferrerUrl).getOrElse(blank).replaceAll("\\p{C}|\\s+|\\r$|\\\\t|\\\\n|\\\\r", "") 

的URL可以是這樣的

http://www.bing.com/search?q=\tEnergy Source\tFuel (Coal)/Uranium Needed (tons)\tCO2 Emissions \r\n(tons)\tSulfur Dioxide and Other Emissions (tons)\tRadioactivity mSv (millisievert)\tSolid Waste (tons)\tAccidents\r\nQuarter 1\tCoal\t\t\t\t\t\t\r\n\tNuclear\t\t\t\t\t\t\r\nQuarter 2\tCoal\t\t\t\t\t\t\r\n\tNuclear\t\t\t\t\t\t\r\nQuarter 3\tCoal\t\t\t\t\t\t\r\n\tNuclear\t\t\t\t\t\t\r\nQuarter 4\tCoal\t\t\t\t\t\t\r\n\tNuclear\t\t\t\t\t\t\r\n 
+0

看看[這個演示](http://ideone.com/qu2vM4),看起來像是工作。 –

+0

反斜槓在火花中的處理方式是否相同?嘗試使用單斜槓:''[\ p {C} \ s] +「'。 –

回答

1

你的代碼示例工程完全與我:

scala> val s = "http://www.bing.com/search?q=\tEnergy Source\tFuel (Coal)/Uranium Needed (tons)\tCO2 Emissions \r\n(tons)\tSulfur Dioxide and Other Emissions (tons)\tRadioactivity mSv (millisievert)\tSolid Waste (tons)\tAccidents\r\nQuarter 1\tCoal\t\t\t\t\t\t\r\n\tNuclear\t\t\t\t\t\t\r\nQuarter 2\tCoal\t\t\t\t\t\t\r\n\tNuclear\t\t\t\t\t\t\r\nQuarter 3\tCoal\t\t\t\t\t\t\r\n\tNuclear\t\t\t\t\t\t\r\nQuarter 4\tCoal\t\t\t\t\t\t\r\n\tNuclear\t\t\t\t\t\t\r\n" 
scala> s.replaceAll("\\p{C}|\\s+|\\r$|\\\\t|\\\\n|\\\\r", "") 
res0: String = http://www.bing.com/search?q=EnergySourceFuel(Coal)/UraniumNeeded(tons)CO2Emissions(tons)SulfurDioxideandOtherEmissions(tons)RadioactivitymSv(millisievert)SolidWaste(tons)AccidentsQuarter1CoalNuclearQuarter2CoalNuclearQuarter3CoalNuclearQuarter4CoalNuclear 
+0

請參見[WorksForMe](http://meta.stackexchange.com/questions/118992/are-works-for-me-answers-valid) –

+0

是的,當我在repl上測試它的作品時,我在火花作業中使用它那我仍然得到輸出文件有這樣的東西 http://pastebin.com/WrCNLaHU – l0n3r4ng3r

0

三重引號有助於爲清晰起見,因爲逃逸不被處理:

scala> s.replaceAll("""\t""", "") 
res5: String = 
"http://www.bing.com/search?q=Energy SourceFuel (Coal)/Uranium Needed (tons)CO2 Emissions 

C ompare:

scala> s.replaceAll("\\\\t", "") 
res3: String = 
"http://www.bing.com/search?q= Energy Source Fuel (Coal)/Uranium Needed (tons)  CO2 Emissions 

我沒有算反斜槓。