`
cywhoyi
  • 浏览: 418660 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

动态解析

    博客分类:
  • JAVA
 
阅读更多

用token的方式动态的解析替换特殊值,举个小例子挺不错。

 

public class GenericTokenParser {

  private final String openToken;
  private final String closeToken;
  private final TokenHandler handler;

  public GenericTokenParser(String openToken, String closeToken, TokenHandler handler) {
    this.openToken = openToken;
    this.closeToken = closeToken;
    this.handler = handler;
  }

  public String parse(String text) {
    StringBuilder builder = new StringBuilder();
    if (text != null && text.length() > 0) {
      char[] src = text.toCharArray();
      int offset = 0;
      int start = text.indexOf(openToken, offset);
      while (start > -1) {
        if (start > 0 && src[start - 1] == '\\') {
          // the variable is escaped. remove the backslash.
          builder.append(src, offset, start - 1).append(openToken);
          offset = start + openToken.length();
        } else {
          int end = text.indexOf(closeToken, start);
          if (end == -1) {
            builder.append(src, offset, src.length - offset);
            offset = src.length;
          } else {
            builder.append(src, offset, start - offset);
            offset = start + openToken.length();
            String content = new String(src, offset, end - offset);
            builder.append(handler.handleToken(content));
            offset = end + closeToken.length();
          }
        }
        start = text.indexOf(openToken, offset);
      }
      if (offset < src.length) {
        builder.append(src, offset, src.length - offset);
      }
    }
    return builder.toString();
  }

}
 

 

分享到:
评论

相关推荐

    C# 动态解析 javascript 脚本引擎源码

    本主题涉及的是如何在C#中动态解析和执行JavaScript代码,这通常通过使用脚本引擎来实现。 一个常见的C#脚本引擎是Microsoft的JScript.NET,但它并不支持最新的JavaScript特性。为了处理现代JavaScript,开发者通常...

    android 动态解析获取json数据的键值对

    这个"android 动态解析获取json数据的键值对"的项目就是针对这种情况的一个实例,主要展示了如何在Eclipse环境下,不预先创建JSON键值对应的实体类,而是动态地解析JSON并将其内容显示在列表上。 首先,我们要理解...

    Android 动态解析网络布局

    在Android开发中,动态解析网络布局是一项重要的技术,它允许开发者根据服务器返回的JSON数据动态构建用户界面,提高应用的灵活性和可扩展性。本文将深入探讨如何在Android中实现这一功能。 首先,理解JSON...

    xml解析库,能够动态解析xml得到有用的数据,使用c完成

    本文将深入探讨如何使用C语言来实现一个XML解析库,以动态解析XML文档并提取其中的有价值信息。 一、XML基础 XML的基本结构包括元素(Element)、属性(Attribute)、文本内容(Text Content)、注释(Comment)、...

    PB代码动态解析执行器 源码

    PB代码动态解析执行器是一种基于PowerBuilder(PB)开发的工具,主要功能是解析和执行PB语言编写的代码。在PB12.5版本上,这个执行器已经进行了修改并且通过了测试,确保了其在该版本环境下的稳定性和兼容性。 首先...

    表达式的动态解析和计算,Flee用起来真香.doc

    表达式的动态解析和计算,Flee 用起来真香 Flee 是一个用于 .NET 框架的表达式解析器和求值器,可以在运行时计算字符串表达式的值。Flee 的解析和计算速度是比较快和高效的。Flee 支持 Net6.0、Net5.0、...

    算术表达式动态解析器

    此算术表达式能够在程序运行时根据输入的变量大小和算术表达式动态解析表达式,得到运算结果。支持多项算术运算符和数学函数如下:: + - * / ^ ( ) mod abs, atan, cos, exp, ln, round, sin, sqrt, sqr, trunc 例如...

    JAVA动态解析,资源文件为解析源码用IDEA打开即可

    没有公网IP的就不要下载了吧,比如自己家里有宽带,一般家庭不是公网IP,你可以向运营商申请一下还是可以的,有了公网IP可以去阿里云,华为云等等买一个域名,新用户很便宜的,有了前两个利用工具自动动态解析 ...

    ipv6地址DDNS动态解析脚本

    ipv6地址DDNS动态解析脚本

    免费顶级域名动态解析教程

    在互联网世界中,域名是网站的地址,而动态解析则是将动态IP地址与域名关联起来的技术,使得即使用户的公网IP地址频繁变化,其他人仍可以通过固定的域名访问到网站或服务。本教程将详细介绍如何进行免费顶级域名的...

    Android 动态解析布局

    在Android开发中,动态解析布局是一项重要的技术,它允许开发者在运行时创建、修改或加载布局资源,提供了更大的灵活性和动态性。动态解析布局的概念基于Android的View和ViewGroup类,以及XML布局文件的解析机制。...

    PB代码动态解析执行_pbdwe125.dll_pb_PB代码动态解析执行_

    标题 "PB代码动态解析执行_pbdwe125.dll_pb_PB代码动态解析执行_" 指的是使用PowerBuilder(PB)开发的应用程序中涉及到的一种高级功能,即动态解析执行PB代码。这种技术允许程序在运行时根据需要解析并执行用户...

    ELF动态解析符号过程.rar_elf_hash_动态解析_符号

    本文将深入探讨ELF文件动态解析符号的过程,重点关注elf_hash算法以及动态解析中的关键步骤。 首先,让我们理解ELF文件结构。ELF文件包含头信息、程序头表和段表,这些部分定义了程序的结构和运行时行为。其中,...

    使用 DNSPOD API 实现域名动态解析

    使用 DNSPOD API 实现域名动态解析 使用 DNSPOD API 可以实现域名动态解析,即在域名解析中更新 IP 地址。下面是使用 DNSPOD API 实现域名动态解析的步骤: 1. 添加记录 在 dnspod 添加域名后,并添加一个记录...

    多域名动态解析局域网内所有主机IPv6的工具

    一个IPV6路由器连接的设备均有独立的IPV6地址,每步科技的IPV6动态域名不需要一个一个分别解析,只要登陆解析更新其中一个域名的IPV6地址,则这个局域网内所有预先设置的域名的IPV6地址均可同时自动解析!

    阿里云动态域名解析PHP工具,解决动态IP的服务器问题!

    在阿里云买域名的朋友可能有了解到动态解析API服务的 实际上这种功能可以替代类似花生壳服务,虽说很多在家做服务器的朋友不可能开通80端口,用别的端口做别的很多服务还是用处相当大的。 只是因为动态IP让人头疼,...

    给域名动态解析IP地址--阿里云|name.com

    想域名解析的童鞋,就需要动态解析下了。。 1.阿里云,就是万网买的域名,阿里云有api可以动态更新的 2.name.com的域名,动态更新要认证啥的(英文不好),所以换车借助noip.com实现(但是要钱) 其实基本都用阿里云...

    顶级域名免费动态解析

    自已建的网站,申请了个顶级动态域名,上网又是ADSL拨号,没有固定IP的用户,又不想花钱放在虚拟服务器上,花生壳又不免费解析顶级域名,怎么办?用这个方法,可以为你省上花费租赁虚拟服务器的钱,何乐而不为呢?

    动态解析json,json 串动态解析,json 序列化

    json 字符串动态解析,动态序列化,无需引用其他第三方 动态解析json,json 串动态解析,json 序列化

Global site tag (gtag.js) - Google Analytics