标签: string-parsing

如何根据文件名将文件排序到目录?

我有大量的文件来排序所有在一些可怕的约定中命名的文件.
这里有些例子:

(4)_mr__mcloughlin ____.txt
12__sir_john_farr ____.txt
(b)mr__chope ____.txt
dame_elaine_kellett-bowman ____.txt
dr__blackburn ______.txt

这些名称应该是不同的人(发言者).另一个IT部门的某个人使用一些脚本从大量的XML文件中生成了这些文件,但是如你所见,命名是不可思议的愚蠢.

我需要用每个人的多个文本文件对数万个这些文件进行排序; 每个都有一些愚蠢的东西使文件名不同,无论是更多的下划线或一些随机数.他们需要按说话者排序.

使用脚本执行大部分工作会更容易,然后我可以返回并合并应该使用相同名称或其他内容的文件夹.

我有很多方法可以考虑这样做.

  • 解析每个文件中的名称,并将它们分类到每个唯一名称的文件夹中.
  • 从文件名中获取所有唯一名称的列表,然后查看这个类似的唯一名称的简化列表,并询问它们是否相同,一旦确定了它,它将相应地对它们进行排序.

我打算使用Perl,但如果它值得,我可以尝试一种新语言.我不知道如何将目录中的每个文件名一次一个地读入字符串以解析为实际名称.我不完全确定如何在perl中使用正则表达式进行解析,但这可能是可谷歌的.

对于排序,我只是要使用shell命令:

`cp filename.txt /example/destination/filename.txt`
Run Code Online (Sandbox Code Playgroud)

但只是因为这就是我所知道的所以它是最简单的.

我甚至没有关于我要做什么的伪代码的想法,所以如果有人知道最好的行动顺序,我的耳朵.我想我正在寻找很多帮助,我对任何建议持开放态度.许多人感谢任何可以提供帮助的人.

B.

regex perl string-parsing

0
推荐指数
1
解决办法
1956
查看次数

使用KornShell提取文件名的一部分

我有一个文件名,例如:xxdatafile_20110120123030_12342.dat.我想"XXdatafile_"从文件名中提取.

如何在Unix上使用Ksh做到这一点?

unix ksh string-parsing

0
推荐指数
1
解决办法
1728
查看次数

C#将字符串转换为int []的最佳方法是什么

可能重复:
拆分字符串,在一行中转换ToList <int>()...

我有一个看起来像这样的字符串.

string s = "1,6,4,3,5,7,4";
Run Code Online (Sandbox Code Playgroud)

我想将其转换为整数数组.

在C#中执行此操作的最佳和最快方式是什么?

c# arrays string int string-parsing

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

如何使用.NET中的Regex在2个标记之间提取字符串?

我有一个网页的来源,我需要提取身体.所以之间的任何</head><body></body></html>.

我试过以下但没有成功:

var match = Regex.Match(output, @"(?<=\</head\>\<body\>)(.*?)(?=\</body\>\</html\>)");
Run Code Online (Sandbox Code Playgroud)

它找到一个字符串,但很久就将其删除</body></html>.我根据RegEx 备忘单逃脱了角色.

我错过了什么?

.net c# regex string-parsing

0
推荐指数
1
解决办法
833
查看次数

C#:如何将数学函数从文本框传递给函数

我有一个文本框,我想读取用户输入的数学函数(例如:Math.Sqrt(x)等).

我一直用于控制台测试功能的代码是

    static double f(double x)
    {
        double f;
        f = Math.Sqrt(x);
        return f;
    }
Run Code Online (Sandbox Code Playgroud)

我不确定如何修改它:我是否读取字符串中的文本框内容,并将该字符串作为第二个参数添加到f函数中(static double f(double x,string s)?我应该解析什么类型的解析适用于字符串?

c# function string-parsing

0
推荐指数
1
解决办法
2460
查看次数

从字符串中解析int的更好方法

我试图看看是否有一种不同的/更好的方法来解析我拥有的字符串.

字符串是"#def xyz [timer = 50,fill = 10]".从这个字符串我试图检索计时器和填充值.

我目前的代码是:

string def = "#def xyz[timer=50, fill=10]";
string _timer = def.Remove(def.IndexOf(","));
_timer = _timer.Remove(0, _timer.IndexOf("=", _timer.IndexOf("timer")) + 1);

string _fill = def.Remove(def.IndexOf("]"));
_fill = _fill.Remove(0, _fill.IndexOf("=", _fill.IndexOf("fill")) + 1);

int timer = Int32.Parse(_timer);
int fill = Int32.Parse(_fill);
Run Code Online (Sandbox Code Playgroud)

有什么建议?

提前致谢!

c# string string-parsing

0
推荐指数
1
解决办法
189
查看次数

如何对SQL表中单个单元格的单词进行排序?

例如:

  • 公寓中的支柱 101
  • 祖祖杜尔加国际酒店
  • 温德姆花园新鲜草地酒店

需要将上面的排序为,

  • 101 栋位于 Pillars 的公寓
  • 杜尔加国际祖祖酒店
  • 温德姆新鲜花园草地酒店

sql t-sql sql-server string-parsing sql-server-2016-express

0
推荐指数
1
解决办法
1629
查看次数

如何使用bash将提交消息解析为变量?

我使用 bash 并且我有字符串(提交消息)

:sparkles: feat(xxx): this is a commit
Run Code Online (Sandbox Code Playgroud)

我想把它分成变量部分:

emoji=:sparkles:
type=feat
scope=xxx
message=this is a commit
Run Code Online (Sandbox Code Playgroud)

我尝试使用 grep,但正则表达式没有返回我需要的内容(例如“类型”),无论如何如何将其粘贴到变量中?

echo ":sparkles: feat(xxx): this is a commit" | grep "[((.*))]"
Run Code Online (Sandbox Code Playgroud)

regex bash string-parsing

0
推荐指数
1
解决办法
55
查看次数

使用文本中的指数提取双数值

如何从具有更多字符的字符串中提取可能具有指数的多个double类型?

例如提取物56.8671311035e-06

"这是一个数字在56.8671311035e-06内的字符串,字符串在这里继续"

我想可以使用正则表达式完成,但我对它们的了解非常有限.

c# regex string-parsing

-1
推荐指数
1
解决办法
843
查看次数

python列表解析示例

我想知道如何解析(或拆分)和列表元素?

我有一个列表(字符串)列表,如:

resultList =  [['TWP-883 PASS'], ['TWP-1080 PASS'], ['TWP-1081 PASS']]
Run Code Online (Sandbox Code Playgroud)

哪里:

resultList[0] = ['TWP-883 PASS']
resultList[1] = ['TWP-1080 PASS']
Run Code Online (Sandbox Code Playgroud)

基本上,我需要一个变量用于列表的每个元素中的两个条目.例如:

issueId = 'TWP-883'
status = 'PASS'
Run Code Online (Sandbox Code Playgroud)

什么允许迭代这个列表并解析如上所述?

python split list string-parsing

-1
推荐指数
1
解决办法
139
查看次数

在c#中使用Regex将字符串解析为数组

我目前正在制作一个从串口接收字符串的c#应用程序,我需要解析这些数据,以便我可以用它来做任务.

通过它发送的字符串SerialPort格式如下:

*NTF,CTRL,SQL,OPEN,+,-66*NTF,CTRL,DBUSY,ON,+,-63*NTF,CTRL,DBUSY,OFF*NTF,CTRL,SQL,CLOSE*
Run Code Online (Sandbox Code Playgroud)

现在我想知道如何将这个字符串分成*符号上的段,我自己做了几次尝试,但无法弄明白.

我的尝试是:

String[] tmp = data.ToString().Split('*');
foreach(String word in tmp)
{
    if (word.Contains(",80") || word.Contains(",81"))
    {
        COM_PORT_INFO_BOX.Text += word + "\r\n";
    }
}
Run Code Online (Sandbox Code Playgroud)

这给了我:

NTF,CTRL,SQL,OPEN,+,-66
NTF,CT RL,DBUSY
,ON,+,-6
3
NTF,CT
RL,DBUSY
,OFF NTF,CT
RL,SQL,C
LOSE
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

var regex = new Regex('*'+".+"+'*');
var matches = regex.Matches(data);
Run Code Online (Sandbox Code Playgroud)

但这给了我一个错误.

我想要实现的目标:

格式化的字符串如下所示:

NTF,CTRL,SQL,OPEN,+,-66
NTF,CTRL,DBUSY,ON,+,-63
NTF,CTRL,DBUSY,OFF
NTF,CTRL,SQL,CLOSE
Run Code Online (Sandbox Code Playgroud)

编辑:

我通过这段代码解决了这个问题:

SerialPort sp = (SerialPort)sender;
data += sp.ReadExisting().ToString();
string[] tmp = data.Split(new char[] {'\u0002','\u0003'}, StringSplitOptions.RemoveEmptyEntries);
foreach (string line in tmp) …
Run Code Online (Sandbox Code Playgroud)

c# regex string-parsing

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

标签 统计

string-parsing ×11

c# ×6

regex ×5

string ×2

.net ×1

arrays ×1

bash ×1

function ×1

int ×1

ksh ×1

list ×1

perl ×1

python ×1

split ×1

sql ×1

sql-server ×1

sql-server-2016-express ×1

t-sql ×1

unix ×1