精华内容
下载资源
问答
  • 需求:后台传过来一段字符串文本,需要从这段字符串中提取json字符串并在前台json格式化高亮显示 1.提取json字符串 注:当字符串中没有出现json字符串时返回null; function getJson(jsonStr) { var stringStack =...

    需求:后台传过来一段字符串文本,需要从这段字符串中提取json字符串并在前台json格式化高亮显示
    1.提取json字符串
    注:当字符串中没有出现json字符串时返回null;

    function getJson(jsonStr) {
    		    var stringStack = new stack();
    		    var indexList = [];
    		    var jsonList = [];
    		    for (var i = 0; i < jsonStr.length; i++) {
    		        if (jsonStr.charAt(i) == '{' || jsonStr.charAt(i) == '[') {
    		            stringStack.push(new JsonStack(i, jsonStr.charAt(i)));
    		        } else if (jsonStr.charAt(i) == '}' || jsonStr.charAt(i) == ']') {
    		            if (stringStack.dataStore.length!=0) {
    		                var js = stringStack.peek();
    		                if (jsonStr.charAt(i) == '}' && js.char == '{') {
    		                    js = stringStack.pop();
    		                } else if (jsonStr.charAt(i) == ']' && js.char == '[') {
    		                    js = stringStack.pop();
    		                }
    		                indexList.push(js.index);
    		                indexList.push(i);
    		            }
    		        }
    		        if (stringStack.dataStore.length==0 && indexList.length > 0) {
    		            var tempStr = getJsonStr(indexList, jsonStr);
    		            if (!(tempStr == null || tempStr.length == 0)) {
    		                jsonList.push(tempStr);
    		            }
    		            indexList.splice(0,indexList.length);;
    		        }
    		    }
    		    if (indexList != null && indexList.length > 0) {
    		        var tempStr = getJsonStr(indexList, jsonStr);
    		        if (!(tempStr == null || tempStr.length == 0)) {
    		            jsonList.push(tempStr);
    		        }
    		    }
    		    if (jsonList != null && jsonList.length > 0) {
    		        return jsonList[0];
    		    } else {
    		        return null;
    		    }
    		}
    		function getJsonStr(indexList, str) {
    		    var temp = "";
    		    for (var i = indexList.length - 1; i >= 0; i = i - 2) {
    		        try {
    		            temp = str.substring(indexList[i - 1], indexList[i] + 1);
    		            JSON.parse(temp);
    		            return temp;
    		        } catch (e) {
    		            continue;
    		        }
    		    }
    		    return null;
    		}
    		function JsonStack(index, char) {
    		    this.index = index;
    		    this.char = char;
    		}
    		function stack() {
    		    this.dataStore = [];//保存栈内元素,初始化为一个空数组
    		    this.top = 0;//栈顶位置,初始化为0
    		    this.push = push;//入栈
    		    this.pop = pop;//出栈
    		    this.peek = peek;//查看栈顶元素
    		    this.clear = clear;//清空栈
    		    this.length = length;//栈内存放元素的个数
    		}
    		function push(element) {
    		    this.dataStore[this.top++] = element;
    		}
    		function pop() {
    		    return this.dataStore[--this.top];
    		}
    		function peek() {
    		    return this.dataStore[this.top - 1];
    		}
    		function clear() {
    		    this.top = 0;
    		}
    		function length() {
    		    return this.top;
    		}
    

    返回结果:

    var str3='123143543=qweqwewe&qweqwew=45634342{"qwewqe12312":"qwewe"}'
    console.log(getJson(str3))
    

    在这里插入图片描述
    2.json格式化
    格式化代码后面补上

    展开全文
  • 删除指定字符串中的某一段字符串

    千次阅读 2020-09-08 21:09:52
    package chap08; import java.util.Scanner; public class TuoZhan03 { /*1.键盘录入个源字符串字符串变量 scrStr 接收 2.键盘录入个要删除的字符串...4.代码运行打印格式: 请输入源字符串:java woaijava,i like

    package chap08;
    import java.util.Scanner;
    public class TuoZhan03 {
    /*1.键盘录入一个源字符串由字符串变量 scrStr 接收
    2.键盘录入一个要删除的字符串由字符串变量 delStr 接收
    3.要求删除该字 scrStr 符串中的所有 delStr 字符串(最终的字符串中不能包含 delStr),
    要 求打印删除后的结果以及删除了几个 delStr 字符串
    4.代码运行打印格式: 请输入源字符串:java woaijava,i like jajavava i enjoy java
    请输入要删除的字符串:java 控制台输出结果:源字符串中总共包含:4 个 java ,删除 java 后的字符串为: woai,i like java i enjoy
    */
    public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    System.out.print(“请输入一个字符串:”);
    String str = input.nextLine(); //此处必须用nextLine()
    System.out.print(“请输入你要删除的字符串:”);
    String deStr = input.nextLine();
    printCount(str,deStr);
    }
    public static void printCount(String str,String deStr){
    String result = str.replace(deStr,""); //此处用到了replace()方法
    int count = (str.length()-result.length())/deStr.length();
    System.out.println(“源字符串中总共包含”+count+“个” + deStr+",删除后的字符串为:" + result);
    }
    }

    展开全文
  • react将一段xml格式的字符串格式化输出并有序的缩进 import React, { Component } from 'react'; import ReactDOM from 'react-dom'; class FormatXMML extends Component { constructor(props) { super(props); ...

    react将一段xml格式的字符串格式化输出并有序的缩进

    写react项目的时候接到一个需求,后端接口返回一段xml格式的字符串,但UI要求在字符串展示的时候闭合标签的排版要对应,子节点要有想应的缩进,我能想到的最方便的方法就是利用正则表达式了,在网上找到的一个例子,修改了一下,实现代码如下:

    import React, { Component } from 'react';
    import ReactDOM from 'react-dom';
    class FormatXMML extends Component {
        constructor(props) {
            super(props);
            this.state = {
                msg: ''
            }
        }
        //计算头函数 用来缩进
        setPrefix(prefixIndex) {
                var result = '';
                var span = '    ';//缩进长度
                var output = [];
                for (var i = 0; i < prefixIndex; ++i) {
                    output.push(span);
                }
                result = output.join('');
                return result;
        }
        //格式化xml代码
        formateXml(xmlStr) {
            let that=this;
            let text = xmlStr;
            //使用replace去空格
            text = '\n' + text.replace(/(<\w+)(\s.*?>)/g, function ($0, name, props) {
                return name + ' ' + props.replace(/\s+(\w+=)/g, " $1");
            }).replace(/>\s*?</g, ">\n<");
            console.log("1",text);
            //处理注释,对注释进行编码
            text = text.replace(/\n/g, '\r').replace(/<!--(.+?)-->/g, function ($0, text) {
                var ret = '<!--' + escape(text) + '-->';
                return ret;
            }).replace(/\r/g, '\n');
            console.log("2",text);
            //调整格式  以压栈方式递归调整缩进
            var rgx = /\n(<(([^\?]).+?)(?:\s|\s*?>|\s*?(\/)>)(?:.*?(?:(?:(\/)>)|(?:<(\/)\2>)))?)/mg;
            var nodeStack = [];
            var output = text.replace(rgx, function ($0, all, name, isBegin, isCloseFull1, isCloseFull2, isFull1, isFull2) {
                var isClosed = (isCloseFull1 == '/') || (isCloseFull2 == '/') || (isFull1 == '/') || (isFull2 == '/');
                var prefix = '';
                if (isBegin == '!') {//!开头
                    prefix = that.setPrefix(nodeStack.length);
                } else {
                    if (isBegin != '/') {///开头
                        prefix = that.setPrefix(nodeStack.length);
                        if (!isClosed) {//非关闭标签
                            nodeStack.push(name);
                        }
                    } else {
                        nodeStack.pop();//弹栈
                        prefix = that.setPrefix(nodeStack.length);
                    }
                }
                var ret = '\n' + prefix + all;
                return ret;
            });
            console.log("output",output);
            var prefixSpace = -1;
            var outputText = output.substring(1);
            //还原注释内容
            outputText = outputText.replace(/\n/g, '\r').replace(/(\s*)<!--(.+?)-->/g, function ($0, prefix, text) {
                if (prefix.charAt(0) == '\r')
                    prefix = prefix.substring(1);
                // 解码
                text = unescape(text).replace(/\r/g, '\n');
                var ret = '\n' + prefix + '<!--' + text.replace(/^\s*/mg, prefix) + '-->';
                return ret;
            });
            outputText = outputText.replace(/\s+$/g, '').replace(/\r/g, '\r\n');
            return outputText;
        }
        componentWillMount() {
            // let str = "<Head><name>wangjj</name><age>23</age></Head>";
            let str ='<!--猪猪--><?xml version="1.0" encoding="UTF-8"?><Head><name>wangjj</name><age>23</age></Head><?xml version="1.0" encoding="UTF-8"?><root><header><operid>zjda001</operid></header></root>'
            // console.log("9",this.formateXml(str));
            let a=this.formateXml(str);
            console.log("zhuzhu",a);
            this.setState({msg:a});
        }
        componentDidMount(){
        }
        render() {
            return (
                <div>
                    <pre key="dd">{this.state.msg}</pre>
                </div>
            );
        }
    }
    export default FormatXMML;
    
    展开全文
  • 如何将一段字符串转换为HTML格式

    千次阅读 2016-05-31 14:20:47
    String text = "字符内容"; String htmlFileName = UUIDUtil.generateUUID()+".html"; String htmlPath = imgPath+ File.separatorChar+htmlFileName; File file2 = new File(htmlPath);  StringBuilder sb = new ...
    String text = "字符内容";
    String htmlFileName = UUIDUtil.generateUUID()+".html";
    String htmlPath = imgPath+ File.separatorChar+htmlFileName;
    File file2 = new File(htmlPath);
      StringBuilder sb = new StringBuilder();
      try {
       file2.createNewFile();//创建文件
     
       sb.append("<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"><title>Html Test</title></head><body>");
       sb.append("<div>");
       sb.append(text);
       sb.append("</div>");
       sb.append("</body></html>");
      
       PrintStream printStream = new PrintStream(new FileOutputStream(file2));
      
       printStream.println(sb.toString());//将字符串写入文件
      
      } catch (IOException e) {
    code = 0;
       e.printStackTrace();
      }
    展开全文
  • 一段实为xml但没有格式的字符串,存为text文本,通过java代码将字符串格式化为xml格式内容进行输出
  • 字符串格式

    2017-04-26 18:25:35
    我们在输出字符串的时候,如果想对输出的内容进行一些整理,比如把几段字符拼接起来,或者把一段字符插入到另一段字符中间,就需要用到字符串格式化输出。   先从简单的开始,如果你想把两段字符连起来输出 ...
  • 1,将单个字符串循环输出,给到json,并为单个字符串赋予循环重复的次数 2,将json做循环比较出最大次数的字符和次数 var str="aaaaaaabbbccdfsdafgagfgvfg" var json={}; //定义JSON格式的变量,以备后用 //第...
  • 先将从word复制出来的字符串转成html页面的表格,然后将页面的表格直接粘贴到excel中,就可以得到表格了,easy job ^_^ PS:我用的是wps excel, ms excel我没有试。 /**************************************...
  • 当前待解析字符串格式为: +CIFSR:STAIP,<Station IP address> +CIFSR:STAMAC,<Station MAC address> 某次通信具体的数据内容为: +CIFSR:STAIP,"0.0.0.0" +CIFSR:STAMAC,"98:f4:ab:da:a6:7f" 要从中...
  • 如何获取excel单元格中一段字符串中的某个特定的字符 excel中的left、mid、right函数 excel单元格中日期格式怎么转换成字符 可以选中需要的日bai期数据使用数据分列来先批du量转换为文本格式。zhi点击该数据选择...
  • 字符串格式化示例

    2019-09-25 08:01:06
    《python基础教程》里有一段字符串格式化示例: # coding=utf-8 # 使用指定的宽度打印格式化后的价格列表 width = input('Please enter with: ') price_width = 10 item_width = width - price_width ...
  • 我的字符串格式是这样的,也可以说是Json字符串,有没有什么方法可以把这段字符串给解析成成实体类,求大神指教啊 ``` [{"OrderID":"0","No":"1","Item1":"0","Item2":"600","Item3":"100","Item4":"0",...
  • 这个是在网上看到的题目(源地址: http://www.pin5i.com/showtopic-22424.html), 把一段字符串用“右起竖排”的古文格式输出. 例如: 静 夜 思 李 白床 前 明 月 光 ,疑 似 地 上 霜 。举 头 望 明 月 ,低 头 思 ...
  • 本代码可实现从一段字符串中获取其中包含的图片的网址,修改验证方式后此代码可扩展为获取其他格式文件网址,可用于网络内容抓取后从中抽取你需要的资源
  • 如题,使用protobuf传输一段格式的代码字符串,在protobuf如何定义 例如,我想传输如下代码字符串: ``` /** * 问好的代码 */ public void sayhello(String name){ System.out.println("hello"+name); } ``` ...
  • 一、获取某个字符后面的一段字符串。  如我想获得 图片acb.jpg 的格式 jpg,即获取 . 后面的字符串。 String str = "abc.jpg"; String str2 = str.substring(str.indexOf('.')+1); 二、获取某个...
  • 字符串格式转化

    2014-05-09 18:35:06
    一段字符串char* a,如“6f36323d313536303030......”其实它隐含着十六进制信息。比如3f对应于char是‘o’,对应于整形是63,其ascii是6f。36对应char是‘6’,对于整形是54,其ascii是36。 现要将这个字符串...
  • 目前我做到可以判断邮箱格式 function is_email($email){ return strlen($email) > 6 && preg_match("/^[\w\-\.]+@[\w\-]+(\.\w+)+$/", $email); } 目标是能做到判断并且逗号隔开后发送多人。 ...
  • 参考:...searchin/chromium-dev/tclib%7Csort:relevance/chromium-dev/zlAabuSVjGE/ozF2gqzaAiQJ 1.在generated_resources.grd文件中添加一段如下格式字符串: <message name="IDS...
  • 我们在输出字符串的时候,如果想对输出的内容进行一些整理,比如把几段字符拼接起来,或者把一段字符插入到另一段字符中间,就需要用到字符串格式化输出。先从简单的开始,如果你想...
  • 文章目录字符串的创建print() 将字符串直接输出至屏幕print(""[])通过下标获取字符串中的指定的print("" in "")查字符串是否们于另外字符串中,返回的是布尔值"%" 格式字符串“+” 字符串的拼接使用....
  • usingSystem; usingSystem.Linq; namespaceConTest { classProgram { staticvoidPrint(stringtext,intoffset) { varmatrix=text ...
  • 从textarea取得一段字符串,但是这个字符串是带格式的,比如,123 456 ,而不是 123456. 但是我现在要把这段文本写入csv文件里, File csvfile = new File("file.csv"); BufferedWriter bufferedWriiter = ...
  • python的字符串格式

    2018-05-29 10:30:00
    %d可以实现对数字的格式化 num = int(input('how old are you:')) print('my age is %d'%num) %f可以实现对小数的格式化 ...输出的是prince is 4.990000,如果想要保留2位...%s用来替换一段字符串 name='ar...
  • String imgStr = "img alt=\"\" src=\"/XXXXX/./uploads/Image/error.jpg\" style=\"height:153px;...如果一段字符串如上,如何替换???处的字符(???处字符不固定,不能用replace) 最好能用一个方法解决以上问题
  • 字符串格式化总结: 在许多编程语言中都包含有格式化字符串的功能,比如C和Fortran语言中的格式化输入输出。Python中内置有对字符串进行格式化的操作%。 模板 格式化字符串时,Python使用个字符串作为模板。...
  • 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这声明。谢谢!... 格式字符串时,Python使用字符串作为模板。模板中有格式符,这些格式符为真实值预留位置,并说...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,861
精华内容 1,944
关键字:

一段字符串格式