小编pav*_*ja2的帖子

正则表达式Word宏,在一个范围内找到两个单词,然后将这些单词斜体化?

所以,我刚刚开始理解正则表达式,我发现学习曲线相当陡峭.但是,stackoverflow在我的实验过程中非常有用.我想写一个特定的单词宏,但我还没有想出办法.我希望能够在一个文档中找到彼此10个左右的单词中的两个单词,然后将这些单词用斜体字表示,如果这些单词的间隔超过10个单词或者顺序不同,我希望宏不要斜体那些话.

我一直在使用以下正则表达式:

\bPanama\W+(?:\w+\W+){0,10}?Canal\b
Run Code Online (Sandbox Code Playgroud)

然而,它只允许我操纵整个字符串作为一个整体,包括其间的随机单词.此外,.Replace函数只允许我用不同的字符串替换该字符串而不更改格式样式.

有经验的人是否知道如何使这项工作?它甚至可以吗?


编辑:这是我到目前为止.我有两个问题.首先,我不知道如何仅从匹配的正则表达式中选择单词"Panama"和"Canal",并仅替换那些单词(而不是中间单词).其次,我只是不知道如何替换与不同格式匹配的正则表达式,只有不同的文本字符串 - 可能只是因为对单词宏不熟悉.

Sub RegText()
Dim re As regExp
Dim para As Paragraph
Dim rng As Range
Set re = New regExp
re.Pattern = "\bPanama\W+(?:\w+\W+){0,10}?Canal\b"
re.IgnoreCase = True
re.Global = True
For Each para In ActiveDocument.Paragraphs
  Set rng = para.Range
  rng.MoveEnd unit:=wdCharacter, Count:=-1
  Text$ = rng.Text + "Modified"
  rng.Text = re.Replace(rng.Text, Text$)
Next para
End Sub
Run Code Online (Sandbox Code Playgroud)

好的,感谢蒂姆·威廉姆斯的帮助下面我得到了以下解决方案,它在某些方面有点笨拙并且它绝不是纯粹的正则表达式,但它确实完成了工作.如果有人有更好的解决方案或想法如何解决这个问题,我会很高兴听到它.再一次,我的粗暴强迫搜索和替换功能的变化是一个有点令人尴尬的粗糙,但至少它的工作原理...

Sub RegText()
Dim re As regExp
Dim para As Paragraph
Dim rng As Range
Dim txt …
Run Code Online (Sandbox Code Playgroud)

regex search vba word-vba

6
推荐指数
1
解决办法
1万
查看次数

使用多个对象解析 Json newtonsoft

我正在尝试使用 C# 中的 newtonsoft 解析相当复杂/不必要的复杂 JSON 输出,但由于某种原因,我的解析器总是返回 null,并且没有详细说明为什么会出现这种情况。

我尝试解析的 JSON 文件的示例:

   {
    "response": {
        "success": 1,
        "current_time": 1362339098,
        "prices": {
            "35": { 
                "11": { 
                    "0": { 
                        "current": {
                            "currency": "keys",
                            "value": 39,
                            "value_high": 41,
                            "date": 1357515306 
                        },
                        "previous": { 
                            "currency": "keys",
                            "value": 37,
                            "value_high": 39
                        }
                    }
                },
                "3": { 
                    "0": { 
                        "current": {
                            "currency": "metal",
                            "value": 0.33,
                            "value_high": 0.66
                        }
                    }
                }
            },
            "5002": { 
                "6": {
                    "0": {
                        "current": {
                            "currency": "usd",
                            "value": 0.39,
                            "value_high": 0.42,
                            "date": 1358090106 …
Run Code Online (Sandbox Code Playgroud)

c# json json.net

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

c# ×1

json ×1

json.net ×1

regex ×1

search ×1

vba ×1

word-vba ×1