标签: string-parsing

java generic String to <T> parser

是否有直接的方法来实现具有以下签名的方法?至少,实现需要处理原始类型(例如Double和Integer).非原始类型将是一个很好的奖金.

//Attempt to instantiate an object of type T from the given input string
//Return a default value if parsing fails   
static <T> T fromString(String input, T defaultValue)
Run Code Online (Sandbox Code Playgroud)

对于实现FromString接口(或等效的)的对象,实现将是微不足道的,但我还没有找到任何这样的东西.我还没有找到使用反射的功能实现.

java generics string-parsing

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

DateTime.ParseExact - 如何使用相同的格式字符串解析单位和双位小时?

我希望能够解析的串时间,其中运行小时从0到23(小时,分,秒),并且其中用于一个位数小时前述零是任选的.

我希望能够解析为有效对象的时间字符串示例DateTime:

  • 212540
  • 061525
  • 94505

我试图使用C#方法DateTime.ParseExact来管理解析,但我不能在它的生命周期中提出一个格式字符串,可以处理"没有前置零的单位数小时"场景.

我应该如何指定DateTime.ParseExact格式字符串以使用相同的代码行充分解析上面的所有示例?

自定义日期和时间格式MSDN页面的启发,我尝试了以下方法:

DateTime.ParseExact(time_string, "Hmmss", CultureInfo.InvariantCulture);
DateTime.ParseExact(time_string, "%Hmmss", CultureInfo.InvariantCulture);
DateTime.ParseExact(time_string, "HHmmss", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

所有这些格式字符串都适用于上面的前两个示例情况,但面对一位数小时而没有前面的零,所有公式都会抛出一个FormatException.

c# datetime string-parsing

8
推荐指数
2
解决办法
3698
查看次数

我可以使用python're'来解析复杂的人名吗?

因此,我的一个主要难点是名称理解和拼凑家喻户晓的名字和头衔.我有一个80%的解决方案,我今天早上拼凑了一个非常庞大的正则表达式,我可能不应该感到自豪(但无论如何以一种恶心的方式),它正确匹配以下示例:

John Jeffries
John Jeffries, M.D.
John Jeffries, MD
John Jeffries and Jim Smith
John and Jim Jeffries
John Jeffries & Jennifer Wilkes-Smith, DDS, MD
John Jeffries, CPA & Jennifer Wilkes-Smith, DDS, MD
John Jeffries, C.P.A & Jennifer Wilkes-Smith, DDS, MD
John Jeffries, C.P.A., MD & Jennifer Wilkes-Smith, DDS, MD
John Jeffries M.D. and Jennifer Holmes CPA
John Jeffries M.D. & Jennifer Holmes CPA
Run Code Online (Sandbox Code Playgroud)

正则表达式匹配器看起来像这样:

(?P<first_name>\S*\s*)?(?!and\s|&\s)(?P<last_name>[\w-]*\s*)(?P<titles1>,?\s*(?!and\s|&\s)[\w\.]*,*\s*(?!and\s|&\s)[\w\.]*)?(?P<connector>\sand\s|\s*&*\s*)?(?!and\s|&\s)(?P<first_name2>\S*\s*)(?P<last_name2>[\w-]*\s*)?(?P<titles2>,?\s*[\w\.]*,*\s*[\w\.]*)?
Run Code Online (Sandbox Code Playgroud)

(wtf对吧?)

为方便起见:http://www.pyregex.com/

所以,举个例子:

'John Jeffries, C.P.A., MD & Jennifer Wilkes-Smith, DDS, …
Run Code Online (Sandbox Code Playgroud)

python regex parsing string-parsing

8
推荐指数
1
解决办法
1060
查看次数

编译包含exprTk的c ++文件时遇到麻烦

我有一些麻烦编译包括exprtk在内的c ++代码.我想编译一个给定的包示例(我称之为parser.cpp):

#include <cstdio>
#include <string>
#include "exprtk.hpp"


template <typename T>
void trig_function()
{
   typedef exprtk::symbol_table<T> symbol_table_t;
   typedef exprtk::expression<T>     expression_t;
   typedef exprtk::parser<T>             parser_t;

   std::string expression_string = "clamp(-1.0,sin(2 * pi * x) + cos(x / 2 * pi),+1.0)";

   T x;

   symbol_table_t symbol_table;
   symbol_table.add_variable("x",x);
   symbol_table.add_constants();

   expression_t expression;
   expression.register_symbol_table(symbol_table);

   parser_t parser;
   parser.compile(expression_string,expression);

   for (x = T(-5); x <= T(+5); x += T(0.001))
   {
      T y = expression.value();
      printf("%19.15f\t%19.15f\n",x,y);
   }
}

int main()
{
    trig_function<double>();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

因此我在cmd中使用以下命令:

g++ -c -o …
Run Code Online (Sandbox Code Playgroud)

c++ g++ string-parsing exprtk

8
推荐指数
1
解决办法
665
查看次数

如何从字符串中提取整数?

我正在处理一项任务,作为其中的一部分,我需要从字符串中提取整数。

我试过使用该atoi()函数,但它总是返回 a 0,所以我切换到strtol(),但它仍然返回 a 0

目标是从字符串中提取整数并将它们作为参数传递给不同的函数。我正在使用一个函数,然后使用这些值来更新一些数据 ( update_stats)。

请记住,我对 C 语言编程还很陌生,但这是我的尝试:

void get_number (char str[]) {
    char *end;
    int num;
    num = strtol(str, &end, 10);
    update_stats(num);
    num = strtol(end, &end, 10);
    update_stats(num);
}
Run Code Online (Sandbox Code Playgroud)

这样做的目的是在一个字符串中"e5 d8"(例如)我将从该字符串中提取 the5和 the 8

字符串的格式始终相同。

我怎样才能做到这一点?

c string-parsing

8
推荐指数
1
解决办法
334
查看次数

使用Bash从包名称中剥离版本

我试图仅使用Bash从包名中删除版本.我有一个解决方案,但我不认为这是最好的解决方案,所以我想知道是否有更好的方法.更好,我的意思是更清洁,更容易理解.

假设我有字符串"my-program-1.0",我只想要"my-program".我目前的解决方案是:

#!/bin/bash

PROGRAM_FULL="my-program-1.0"
INDEX_OF_LAST_CHARACTER=`awk '{print match($0, "[A-Za-z0-9]-[0-9]")} <<< $PROGRAM_FULL`
PROGRAM_NAME=`cut -c -$INDEX_OF_LAST_CHARACTER <<< $PROGRAM_FULL`
Run Code Online (Sandbox Code Playgroud)

实际上,"包名称"语法是RPM文件名,如果重要的话.

谢谢!

bash shell string-parsing

7
推荐指数
1
解决办法
7044
查看次数

将隐藏的输入作为字符串抓取(使用PHP Simple HTML DOM Parser)

所以我有一个有4个输入,2个文本,2个隐藏的表单.我从名称中抓取了两个文本输入值,它们是(get_me_two,get_me_three),我还抓住了表单操作(get_me.php).我现在要做的是抓住2个隐藏的输入,但不是值.我想自己抓住输入.

EG:这是我的表格:

<form action="get_me.php" method="post">
    <input type="text" name="get_me_two">
    <input type="text" name="get_me_three">
    <input type="hidden" name="meta_required" value="from">
    <input type="hidden" name="meta_forward_vars" value="0">
</form>
Run Code Online (Sandbox Code Playgroud)

我想从这里抓取的是两个隐藏的输入,而不是值,完整的字符串.

我不知道如何使用这些:PHP简单的HTML DOM解析器,如果有人知道一种方法,那将是伟大的,如果没有,如果有一个替代也会很棒.一旦我抓住这些,我计划将2个输入值传递给另一个带有隐藏字符串的页面,当然还有表单操作.

此外,如果有人感兴趣,这里是我的完整代码,其中包括简单的html dom功能.

<?php

include("simple_html_dom.php");

// Create DOM from URL or file
$html = file_get_html('form_show.php');
$html->load('
<form action="get_me.php" method="post">
<input type="text" name="get_me_two">
<input type="text" name="get_me_three">
<input type="hidden" name="meta_required" value="from">
<input type="hidden" name="meta_forward_vars" value="0">
</form>');

// Get the form action
foreach($html->find('form') as $element) 
   echo $element->action . '<br>';

// Get the input name       
foreach($html->find('input') as $element) 
   echo $element->name …
Run Code Online (Sandbox Code Playgroud)

html php parsing string-parsing

7
推荐指数
1
解决办法
7649
查看次数

是否有所有国际句号标点的字符集?

我试图将utf-8字符串解析成"一口大小"的段.例如,我想将文本分解为"句子".

是否有一个全面的字符集(或正则表达式)对应于所有语言的句子结尾?我正在寻找可以捕捉拉丁时期,感叹号和审讯标记,中国和日本句号等的东西.

像上面这样的东西,但相当于一个逗号也会很棒.

unicode parsing character-encoding punctuation string-parsing

7
推荐指数
2
解决办法
1188
查看次数

从location.host获取根域

有很多SO问题似乎可以解决这个问题的变化.但它们往往是复杂的正则表达式答案,我希望我能找到更简单的东西.

给定location.host值

foo.mysite.com
app.foo.mysite.com
mysite.com
Run Code Online (Sandbox Code Playgroud)

我如何获得根域mysite.com

我可以做一些事情,比如找到倒数第二个.,但这看起来很难看,对任何顶级域名都不行.co.uk.如果jQuery有一个包含这些信息的对象,我很乐意使用它.

我的目标是创建存在于所有子域中的cookie.要做到这一点,我需要找到.mysite.com.我不想硬编码.

javascript jquery string-parsing

7
推荐指数
3
解决办法
6660
查看次数

OCaml是否像Python一样有String.split函数?

我用它来分割字符串:

 let split = Str.split (Str.regexp_string " ") in
   let tokens = split instr in
 ....
Run Code Online (Sandbox Code Playgroud)

但问题是,例如这里是我要解析的句子:

pop     esi
Run Code Online (Sandbox Code Playgroud)

并且在拆分之后它变成了(我使用辅助函数来打印tokens列表中的每个项目):

item: popitem: item: item: item: esi
Run Code Online (Sandbox Code Playgroud)

请注意,令牌列表中有三个空格.

我想知道string.splitPython中是否有类似可以解析的instr方式:

item: popitem: esi
Run Code Online (Sandbox Code Playgroud)

可能吗?

ocaml split string-parsing

7
推荐指数
3
解决办法
8973
查看次数