【已解决】字符串前后对调问题请教,谢谢!
本帖最后由 pingfan5888 于 2017-6-4 20:02 编辑一个文件都是这格式
例子:
上架感言(一些心里话)!!!</a></li>@@bookid/84698748">
封推感言!</a></li>@@bookid/88142003">
新书上传求收藏,求推荐啦!</a></li>@@bookid/345834257">
第1章 第一份工</a></li>@@bookid/83138239">
第2章 红色小马驹</a></li>@@bookid/83165990">
用如下:
$text = StringRegExpReplace($text, '(.*)@@(.*)', '\2\1')
替换后前后是对调了,可给换行了。
如何做到对调后不换行。
如果是单单一个字符串,
如$text = '封推感言!</a></li><>id/88142003">'
$text = StringRegExpReplace($text, '(.*)<>(.*)', '\2\1')
msgbox(0,'',$text)就没有问题。 看一下是不是这样
### 友情提示:本脚本由 Au3 正则测试工具 于 2017年06月04日16点03分06秒 自动生成,不保证其正确性,请自行修改测试 ###
#include <Array.AU3>
$string = _
'上架感言(一些心里话)!!!</a></li>@@bookid/84698748">' & @CRLF & _
'封推感言!</a></li>@@bookid/88142003">' & @CRLF & _
'新书上传求收藏,求推荐啦!</a></li>@@bookid/345834257">' & @CRLF & _
'第1章 第一份工</a></li>@@bookid/83138239">' & @CRLF & _
'第2章 红色小马驹</a></li>@@bookid/83165990">'
Local $sSRERe = StringRegExpReplace($string,'(.*)@@(.*)' ,'\2\1')
Local $Array = StringRegExp($sSRERe, '[^\r\n]+' ,3)
For $i = 0 To UBound($Array) - 1
Local $read
$read = $read&$Array[$i]
NEXT
;以下为测试结果:
MsgBox(0,0,$read)
本帖最后由 pingfan5888 于 2017-6-4 18:36 编辑
回复 2# xzf680
先谢谢了,,这样子后,连接成一个段落了,在替换成换行后可得到想要的结果,就是想问下,
,提供的例子,整个文件,每一行的格式对调后,能否不自动换行,
$text = StringRegExpReplace($text, '(.*)@@(.*)', '\2\1')针对每一行。(全文)
单句没有问题。不会自动换行。
整个文件就会得到如下结果:
bookid/84698748">
上架感言(一些心里话)!!!</a></li>
bookid/88142003">
封推感言!</a></li>
bookid/345834257">
新书上传求收藏,求推荐啦!</a></li>
bookid/83138239">
第1章 第一份工</a></li>
bookid/83165990">
第2章 红色小马驹</a></li>
bookid/83176884">
第3章 掰手腕</a></li>
。。。。。。。。
需要得到的结果如下:
bookid/84698748">上架感言(一些心里话)!!!</a></li>
bookid/88142003">封推感言!</a></li>
bookid/345834257">新书上传求收藏,求推荐啦!</a></li>
bookid/83138239">第1章 第一份工</a></li>
bookid/83165990">第2章 红色小马驹</a></li>
bookid/83176884">第3章 掰手腕</a></li>
bookid/83193125">第4章 这小子够狠</a></li>
bookid/83203799">第5章 因祸得福</a></li>
bookid/83220296">第6章 送外卖</a></li>
bookid/83230976">第7章 异能初现</a></li>
bookid/83247060">第8章 法拉盛</a></li> StringRegExpReplace($sSource, '(?m)^(.+)@@(\V+)', '\2\1') 你的代码感觉没问题呀,是不是你设置的宽不够?
如下图:
### 友情提示:本脚本由 Au3 正则测试工具 于 2017年06月04日18点48分11秒 自动生成,不保证其正确性,请自行修改测试 ###
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$string = _
'上架感言(一些心里话)!!!</a></li>@@bookid/84698748">' & @CRLF & _
'封推感言!</a></li>@@bookid/88142003">' & @CRLF & _
'新书上传求收藏,求推荐啦!</a></li>@@bookid/345834257">' & @CRLF & _
'第1章 第一份工</a></li>@@bookid/83138239">' & @CRLF & _
'第2章 红色小马驹</a></li>@@bookid/83165990">'
Local $sSRERe = StringRegExpReplace($string,'(.*)@@(.*)' ,'\2\1')
;以下为测试结果:
Example()
Func Example()
; 创建一个 GUI 及其各种控件.
Local $hGUI = GUICreate("示例")
GUICtrlCreateLabel("你的代码测试感觉没问题呀??",15,8,200,20)
GUICtrlCreateEdit($sSRERe& @CRLF, 10, 32, 380, 350, $ES_AUTOVSCROLL + $WS_VSCROLL)
; 显示 GUI.
GUISetState(@SW_SHOW, $hGUI)
; 循环到用户退出.
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
EndSwitch
WEnd
; 删除先前创建的 GUI 和所有控件.
GUIDelete($hGUI)
EndFunc ;==>Example
谢谢两位大神,,可以了。
我自己的代码,也不知道哪出问题了。。就是会换行。。
页:
[1]