Excel vba
我试图通过Excel VBA从文章(基本上不同的新闻文章)中删除某些不需要的文本(来自JSON)
需要编辑的文章
第一个例子
[{“body2”:“AA参与社区,尽管培训和运营\ n \ n”},{“body2”:“我们感谢Tin Tan先生在论坛信中提出的建议” SDE志愿者,“日期为2014年1月25日。”},{“body2”:“hhh满足了我们生活方式的迫切需要。因此,培训和运营是首要任务。尽管如此,AA积极参与支持我们的社区。我们的单位定期组织社区参与项目,例如访问家园以帮助和鼓励同胞,以及让学生参与学校合作计划。这些项目允许我们的员工参与社区服务,同时履行他们的服务承诺。2013年,我们的士兵支持了50多所房屋,并雇用了30多所学校。\ n“},{”body2“:”G.Huang \ nHead \ nJoint Manpower Department“},{”body2“:”\ n \ nSDE的回复发表为\ “尽管有培训和运营,但AA也参与了社区”,新闻时报,1月28日“}}
第二个例子
[{“body2”:“”},{“body2”:“本地大学提供早期进入的SDE选项”},{“body2”:“AA希望回应新闻时报信件中提出的问题让全职员工更早进入大学。“},{”body2“:”AA注意到服务要求员工延迟他们的个人追求,并且不会使全职服务的时间超过必要的时间。两年的全职工作是必要的,以培养我们的员工达到所需的熟练程度,以便他们成为满足运营需求的常备力量的一部分。“},{”body2“:”随后,完成他的全职服务。}},{“body2”:“AA允许他们在同一时间开始他们的大学学习的东西中断,这确保他们没有比同一群体中的同龄人更好或更差,谁也服务NS。“},{”body2“:”就进入本地大学而言,现在有更多选择。“},{”body2“:”此外,科技大学和德sign有一个独特的学术日历,从5月开始,领先于其他大学,其8个学期的课程可以在3。5年内完成。“},{”body2“:”Tm \ nDirector Manpower \ ndepert \ n“},{ “body2”:“”},{“body2”:“SDE发布为”本地大学代表队提供员工选择提前入场:AA \“,The News Times,12 Jun 12”},{“body2”:“” }]
到目前为止我做了什么
Public Function RemoveN(RemN As String) As String
Dim PosN As Integer
' remove any \n
PosN = InStr(1, RemN, "\n")
Do While PosN > 0
RemN = Replace(RemN, "\n", "")
PosN = InStr(1, RemN, "\n")
Loop
RemoveN = RemN
End Function
Public Function RemoveT(RemT As String) As String
Dim Post As Integer
' remove any \n
Post = InStr(1, RemT, "\t")
Do While Post > 0
RemT = Replace(RemT, "\t", "")
Post = InStr(1, RemT, "\t")
Loop
RemoveT = RemT
End Function
Public Function RemoveSlash(Rems As String) As String
Dim Poss As Integer
' remove any \n
Poss = InStr(1, Rems, "\")
Do While Poss > 0
Rems = Replace(Rems, "\", "")
Poss = InStr(1, Rems, "\")
Loop
RemoveSlash = Rems
End Function
答案 0 :(得分:0)
使用正则表达式的此例程似乎会在您声明时清理您的文章。在此示例中,body2
可以是不包含冒号的任何单词。但是,如果您特别想要查找body2
,请将[^:]
部分替换为body2
Option Explicit
Function CleanUp(S As String) As String
Dim RE As Object
Const sPat As String = "\[?\{[^:]+:""|""}]?|\\n|\\""|,(?=\{)"
Set RE = CreateObject("vbscript.regexp")
With RE
.Global = True
.Pattern = sPat
'Replace pattern with a space
CleanUp = WorksheetFunction.Trim(.Replace(S, " "))
'cleanup spaces before commas
.Pattern = "\s+,"
CleanUp = .Replace(CleanUp, ",")
End With
End Function
\[?\{[^:]+:"|"}]?|\\n|\\"|,(?=\{)
选项:不区分大小写; ^ $不匹配的换行
\[?\{[^:]+:"
"}]?
\\n
\\"
,(?=\{)